<SEC-DOCUMENT>0000950170-22-010133.txt : 20220516
<SEC-HEADER>0000950170-22-010133.hdr.sgml : 20220516
<ACCEPTANCE-DATETIME>20220516172619
ACCESSION NUMBER:		0000950170-22-010133
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		72
CONFORMED PERIOD OF REPORT:	20220331
FILED AS OF DATE:		20220516
DATE AS OF CHANGE:		20220516

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			SHOTSPOTTER, INC
		CENTRAL INDEX KEY:			0001351636
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		IRS NUMBER:				470949915
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-38107
		FILM NUMBER:		22931125

	BUSINESS ADDRESS:	
		STREET 1:		39300 CIVIC CENTER DRIVE, SUITE 300
		CITY:			FREMONT
		STATE:			CA
		ZIP:			94538
		BUSINESS PHONE:		(510) 794-3100

	MAIL ADDRESS:	
		STREET 1:		39300 CIVIC CENTER DRIVE, SUITE 300
		CITY:			FREMONT
		STATE:			CA
		ZIP:			94538

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	SHOTSPOTTER INC
		DATE OF NAME CHANGE:	20110517

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Shotspotter Inc
		DATE OF NAME CHANGE:	20060131
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>ssti-20220331.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" encoding="ASCII"?><!-- DFIN New ActiveDisclosure (SM) Inline XBRL Document - http://www.dfinsolutions.com/ --><!-- Creation Date :2022-05-16T17:17:30.6475+00:00 --><!-- Copyright (c) 2022 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:nonNumeric="http://www.xbrl.org/dtr/type/non-numeric" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ssti="http://www.shotspotter.com/20220331" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:utr="http://www.xbrl.org/2009/utr">
 <head>
  <title>10-Q</title>
  <meta http-equiv="Content-Type" content="text/html" />
 </head>
 <body>
  <div style="display:none;"><ix:header><ix:hidden><ix:nonNumeric id="F_31c5cee5-7133-4e5e-99f4-3fd183c09aa4" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" contextRef="C_6bbccba0-c383-4d9d-8d75-e5ba25f4162d">P1Y</ix:nonNumeric><ix:nonFraction id="F_cf9a83a1-ea13-4ce7-95a6-419263fad9c4" name="us-gaap:PreferredStockValue" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" unitRef="U_USD" xsi:nil="true"></ix:nonFraction><ix:nonNumeric id="F_40c2cb30-30e7-4be2-87b7-692942a91659" name="dei:DocumentFiscalPeriodFocus" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8">Q1</ix:nonNumeric><ix:nonNumeric id="F_b3a711a8-1442-4a55-990b-19113dc03eff" name="dei:AmendmentFlag" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8">false</ix:nonNumeric><ix:nonNumeric id="F_c71bd0db-78cc-4b95-8339-567b07db49ef" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" contextRef="C_5d18c9ad-a55b-4d85-8eff-1b93264d0a44" xsi:nil="true"></ix:nonNumeric><ix:nonFraction id="F_e8814fd1-13b0-4da7-8d7e-13baa9029cba" name="us-gaap:PreferredStockValue" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" unitRef="U_USD" xsi:nil="true"></ix:nonFraction><ix:nonNumeric id="F_2090c233-5365-4527-bf22-621b0a71f29f" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" contextRef="C_cc5aeaf0-fdaa-492d-b857-72097dc114c2">P1Y</ix:nonNumeric><ix:nonNumeric id="F_6705fc55-e694-46dd-ae17-bafa2f0dfe55" name="dei:CurrentFiscalYearEndDate" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8">--12-31</ix:nonNumeric><ix:nonNumeric id="F_ca45c7cb-2415-41ef-9a5e-24d3940aba6b" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" contextRef="C_edcef4b9-11d8-4db7-831d-3574c5603b9c">P9M</ix:nonNumeric><ix:nonFraction id="F_2c6be4d4-9211-48a5-8fd8-4e05655697b2" name="us-gaap:CommitmentsAndContingencies" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" unitRef="U_USD" xsi:nil="true"></ix:nonFraction><ix:nonNumeric id="F_352ddc03-e7ed-4b05-b4d7-3fcf62f3303d" name="dei:EntityCentralIndexKey" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8">0001351636</ix:nonNumeric><ix:nonFraction id="F_b4f15d7d-fd39-4d54-a895-fb8bf7e2f0a0" name="us-gaap:CommitmentsAndContingencies" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" unitRef="U_USD" xsi:nil="true"></ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="ssti-20220331.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="C_a106a82b-37a3-4530-91d7-92cfd6be3d58"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a81a5501-43da-4ec1-aaa5-0bceda87f0e6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_24466a16-3d8a-44a7-8b64-2466c8f7399b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1615a381-fed6-4cf6-a350-2d523a459781"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_03365dc6-f39e-4d2b-ab67-51bf05e56670"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8c8e20e8-ebcc-4c8c-ad27-48304a267e32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ssti:SubscriptionMaintenanceAndSupportServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c885d15f-9678-4e90-bcd6-a44c20a9c586"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f8b904a2-e65c-4aa8-9edb-2cc959ab35fa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3b619813-ae07-4d2d-9852-8f085df573f9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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_127f5b61-06fe-49da-8738-f92c47b244cb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_bd33dd17-4c96-424f-8a0d-10610dc36e5c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_93ee2038-4717-4e84-a909-6fffeee26794"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f43ac29b-0157-4c8f-abf1-4a98643e6871"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</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_9f6170cf-8101-4119-a25e-ad90823fc7e3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3a9c8359-2d87-4c19-bc5f-4a30be738182"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_149c4457-3c21-42c3-8c10-21f15d44c8c0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_713f7152-5be2-4f20-960a-94e306fa3467"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0ac19f7d-fc71-4065-80b0-042c5353bda5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_013a8e8f-c6a7-4437-8a68-81c08d11b6bb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ceda8827-c01d-4028-9ca3-685c787d5d0b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3736fb25-2053-4120-9851-540beeb0c02f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_25251528-9af4-4905-be67-943ba86f608d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_10a1619b-8d80-4a93-82dc-0f42920bbe0c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_a75b9ebe-c12f-409f-a67e-f6f5b2af1084"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0950aff4-a31a-4f4a-996a-484c2537d5e8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_737be91a-9fa1-4ccc-87dc-a2a3441f61ab"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">ssti:SoftwareTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5d18c9ad-a55b-4d85-8eff-1b93264d0a44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_79dbbab6-1725-48d2-a742-544b47083246"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">ssti:ShotSpotterLabsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_6217c0e0-7e19-4bbc-803e-31a3e275ca67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e5483310-f248-488b-8ac8-1fdb90040588"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e2a80031-945f-47a5-a810-701522f900fc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_dfe2869f-b199-469c-b88f-8095a50d1f4a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_eacf896e-0272-4152-9e89-a1cf28665b32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_eb0806c9-cd9b-413b-8f47-de2bacb95acd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_7b1cf6dc-3302-4ebb-b095-7a4899536775"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_76a6cfd6-9238-4e67-ab3e-3da3d51f3e5e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_04c5118b-cd7e-4104-91be-ab3136b0c3b9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_56241372-836c-4631-8a97-1963346dab4e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_ac2383f8-92eb-4b35-a1be-833c41494387"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4816fe98-96a7-4419-94c9-dbe96265db7b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8fa6aee4-ad12-4340-a0b5-3459974229a6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">ssti:AccruedLiabilitiesAndOtherLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-03</xbrli:startDate><xbrli:endDate>2022-01-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2f649efb-908a-4a42-b7cf-3ffa2276f3d0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ssti:ProfessionalSoftwareDevelopmentServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c2962ad9-bb09-46ac-af50-a0d496670a23"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</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_a97ddda1-b2e6-4f0e-a4dd-fead0e4b9525"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_72cd9c5e-0719-4cd4-84e7-551f796cb4b2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9155f498-db82-4ded-8c5f-d0176a497a05"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_562ab650-a001-4c1e-b53b-f08dea5824ec"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0998d3a1-39bb-4560-827a-40117a738e3f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandSeventeenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_abc3306c-4c02-4279-9da3-cd8f4fa555da"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandSeventeenEquityIncentivePlanMember</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_8b48ae13-5693-4d58-9a46-07973323f56c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandSeventeenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_55a2ca40-271c-469b-92d0-fdfd856d242a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">ssti:ShotSpotterLabsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cc5aeaf0-fdaa-492d-b857-72097dc114c2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0e1c4593-f41e-431c-8699-b1a0fcdb1363"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ee8d10ba-4d44-47de-a529-6183934059b2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerDurationAxis">ssti:RecognitionFromNewBillingsOfDeferredRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e5f850f0-595c-499b-bb12-deeb538a3ff0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ssti:ProfessionalSoftwareDevelopmentServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d70c71a4-0537-4865-98fe-5153e978481c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</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_847e9941-df00-4d67-ae0a-bb53a9bab527"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_64cca3a9-1715-4247-a260-e28ac48884b7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cfbc7e87-55a1-4604-86d3-03aed1e4ab9c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerDurationAxis">ssti:RecognitionFromNewBillingsOfDeferredRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b2e06c7d-9265-40ca-aa39-9c11a2b3a5ae"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7a9733c5-ba7d-4002-b38b-e543d0379d83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">ssti:AccountingStandardsUpdate202108Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f8fe2972-47b2-42f5-83c0-73f012720d9b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_077a6235-4e0b-4ed9-85dc-78669c9bb0dd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4ac35662-3179-48c0-9516-cadedb959104"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9cbf2ee2-894f-4a71-b626-698b19667284"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_e6c20a39-5d92-47f0-a395-4259c2c0f361"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_6fbf2e10-7fc5-48f6-877b-2274696167fe"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1c6d347c-2db7-4b45-b812-eb0ac9ef5b98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a7992727-8d0e-4bd3-9899-71602c3da89e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f1ceb39d-4362-4fcc-8360-7eff35fe0c32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c789ba45-efd8-4399-90d0-0de6aa317bf3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:LeedsLLCMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d9e37333-8edd-4ffd-a810-53ef6453a4d6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_40f0b965-a1b9-41ab-bbe4-627b4ffa0d80"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_edcef4b9-11d8-4db7-831d-3574c5603b9c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_476a140b-0af2-4534-a473-04d9443a51ab"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerDurationAxis">ssti:RecognitionFromBeginningDeferredRevenueBalanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cd8f3b7c-14c8-48d6-8360-5aa042790864"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:AzaveaIncMember</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_689186f9-cf1e-4f8f-ac98-c83c35dd888d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_69f5bbbc-32bd-4059-80b2-6cbe368e83e0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ac64ea28-323e-4973-aee6-6462d61aa55e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_d277ccbe-b6bb-49dd-8d5d-68359cfecf1e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_dda2ce30-884c-4335-a113-67bae204a1b9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3c20928b-b904-49e2-8a33-627a5c16b136"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_66f1f79c-069c-4241-a8ce-06d0dc2a668d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3cd7e47c-cac6-4d3e-8852-da6320e19ffa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_358f5a66-3fc8-4998-bf7d-bc75da891e76"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2a55f55a-95cc-4ecf-b15c-8ec2f9628b82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f20a2430-6b11-44bf-b344-9ac90161c69a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_6bbccba0-c383-4d9d-8d75-e5ba25f4162d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0f5bdb17-b55f-4907-a446-82cf51ddc777"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1d6a8c8e-13ec-4c41-9389-f38bc4acb183"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-03</xbrli:startDate><xbrli:endDate>2022-01-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a7449ef2-b425-4a7d-9851-4d5a0c0cccc7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9d41fdae-8ce0-4258-86ed-ba1d4b249c28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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_66217ff4-3ef7-4c48-b2dd-977a50db3643"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5559d3d7-e4a9-4130-85e2-89188cfbe620"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">ssti:CompensatoryDamagesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-12</xbrli:startDate><xbrli:endDate>2021-10-12</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f8abfc70-5adf-42f8-9db9-631524deb0cb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_056707bd-9caa-4250-bb92-381e9b51b4cd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ef9a282b-22fb-454e-a4c0-9d25c4b5a326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_48e71403-207a-49f2-b9e5-81480f3100fa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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_47e412c9-2400-45c5-a2a7-1443da1681a7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-05-01</xbrli:startDate><xbrli:endDate>2017-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_ff0ea7a7-6ccb-4259-b8cd-a08b0ba95da5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8c9ce3dd-166f-466a-8205-731d2946109e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1005a965-0b11-4e3b-949f-dd368b08737a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">ssti:PunitiveDamagesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-12</xbrli:startDate><xbrli:endDate>2021-10-12</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f086e84e-aaff-421f-b0c4-0133e95abe9f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_27e05528-22e5-42b8-b647-0c754d88a5b0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandSeventeenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-05-01</xbrli:startDate><xbrli:endDate>2017-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_aa1873bc-e3db-4e52-8998-c3376e3fefb6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_9ae3dad9-456d-487b-a3dd-cb418d8bf44a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c46c6dde-8f86-468c-993e-71b83287e176"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_399a9fce-9b5a-4b9b-a866-37d578b694d8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerDurationAxis">ssti:RecognitionFromBeginningDeferredRevenueBalanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_54df0e89-4c2b-4985-b730-504d08334fe9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ssti:SubscriptionMaintenanceAndSupportServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_250661f3-60d8-4be3-9f7d-82fdc61c7ad3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f693f9e2-fcf5-4500-886e-d308a3e00976"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001351636</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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="U_USDollarShare"><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:unit id="U_pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="U_shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U_Subsidiary"><xbrli:measure>ssti:Subsidiary</xbrli:measure></xbrli:unit><xbrli:unit id="U_City"><xbrli:measure>ssti:City</xbrli:measure></xbrli:unit><xbrli:unit id="U_Customer"><xbrli:measure>ssti:Customer</xbrli:measure></xbrli:unit><xbrli:unit id="U_USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit></ix:resources></ix:header></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;padding-bottom:1.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;border-bottom:2.250pt double;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:1.0pt;font-family:Times New Roman;min-width:fit-content;">00</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:1.0pt;font-family:Times New Roman;min-width:fit-content;">014</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:16.0pt;font-family:Times New Roman;min-width:fit-content;">UNITED STATES</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:16.0pt;font-family:Times New Roman;min-width:fit-content;">SECURITIES AND EXCHANGE COMMISSION</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">WASHINGTON, DC 20549</span></p>
  <p style="margin-left:35.187%;text-indent:0.0%;padding-bottom:1.0pt;font-size:10.0pt;margin-top:3.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;border-bottom:0.500pt solid;margin-right:35.185%;text-align:center;"><span style="white-space:pre-wrap;font-size:3.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:16.0pt;font-family:Times New Roman;min-width:fit-content;">FORM </span><span style="font-size:16.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_667c3f9b-aa46-4084-ba86-b45a01e8b10d" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:DocumentType"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:16.0pt;font-family:Times New Roman;min-width:fit-content;">10-Q</span></ix:nonNumeric></span></p>
  <p style="margin-left:35.187%;text-indent:0.0%;padding-bottom:1.0pt;font-size:10.0pt;margin-top:3.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;border-bottom:0.500pt solid;margin-right:35.185%;text-align:center;"><span style="white-space:pre-wrap;font-size:3.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Mark One)</span></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cc205099-d2ee-4b44-be0f-381bd5c955a0" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:DocumentQuarterlyReport" format="ixt-sec:boolballotbox"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">    </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">For the quarterly period ended </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_74c396d3-0264-41b3-b5a7-c31768824ca5" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:DocumentPeriodEndDate" format="ixt:datemonthdayyearen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">March 31, </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_269e1796-7863-4105-bb2b-763ca08ae2dd" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:DocumentFiscalYearFocus"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></ix:nonNumeric></span></ix:nonNumeric></span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">OR</span></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10.0pt;margin-top:3.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_cb648837-703d-4ea3-a060-94d15136b53f" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">    </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">For the transition period from               to</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:3.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Commission File Number: </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_dc56d932-ca14-4f5a-b815-84a5bfbce0da" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityFileNumber"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">001-38107</span></ix:nonNumeric></span></p>
  <p style="margin-left:35.187%;text-indent:0.0%;padding-bottom:1.0pt;font-size:10.0pt;margin-top:3.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;border-bottom:0.500pt solid;margin-right:35.185%;text-align:center;"><span style="white-space:pre-wrap;font-size:3.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:3.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="font-size:24.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2b42f2b4-80de-473a-a27a-b4c5a43251d5" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityRegistrantName"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:24.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc.</span></ix:nonNumeric></span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Exact Name of Registrant as Specified in its Charter)</span></p>
  <p style="margin-left:35.187%;text-indent:0.0%;padding-bottom:1.0pt;font-size:10.0pt;margin-top:3.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;border-bottom:0.500pt solid;margin-right:35.185%;text-align:center;"><span style="white-space:pre-wrap;font-size:3.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:6.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:50.0%;"></td>
    <td style="width:50.0%;"></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8c5f25d2-4d91-47b7-991d-55013b89d115" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Delaware</span></ix:nonNumeric></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ae7eb2f9-1803-4131-ba6c-1fd5e7a2a4d6" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityTaxIdentificationNumber"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">47-0949915</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(State or other jurisdiction of</span></p><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.75pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">incorporation or organization)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(I.R.S. Employer<br />Identification No.)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_41c23e77-0d6a-4065-b721-8fb8d2e50362" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityAddressAddressLine1"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">39300 Civic Center Dr.</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_f167114a-cb87-4282-bdb2-acbd86566a05" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityAddressAddressLine2"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Suite 300</span></ix:nonNumeric></span></p><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0d449352-8c76-4dbb-be8e-db60fc639da0" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityAddressCityOrTown"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Fremont</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e21ffe08-c513-45fa-b8a5-7ea30528b713" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">California</span></ix:nonNumeric></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e06e55d6-9330-49b9-9ab2-76cb6a954852" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityAddressPostalZipCode"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">94538</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(Address of principal executive offices)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(Zip Code)</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Registrant&#x2019;s telephone number, including area code: (</span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7e5bb8b8-bb33-4efc-b0ff-430f101fb59d" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:CityAreaCode"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">510</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">) </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_86ef4e4c-5882-471e-86da-a163e1befaeb" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:LocalPhoneNumber"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">794-3100</span></ix:nonNumeric></span></p>
  <p style="margin-left:35.187%;text-indent:0.0%;padding-bottom:1.0pt;font-size:10.0pt;margin-top:3.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;border-bottom:0.500pt solid;margin-right:35.185%;text-align:justify;"><span style="white-space:pre-wrap;font-size:3.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:6.667%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Securities registered pursuant to Section 12(b) of the Act:</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:33.333%;"></td>
    <td style="width:33.333%;"></td>
    <td style="width:33.333%;"></td>
   </tr>
   <tr style="height:9.0pt;">
    <td style="border-top:0.500pt solid rgba(0,0,0,1);background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;border-left:0.500pt solid rgba(0,0,0,1);vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Title of each class</span></p></td>
    <td style="border-top:0.500pt solid rgba(0,0,0,1);background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Trading Symbol(s)</span></p></td>
    <td style="border-top:0.500pt solid rgba(0,0,0,1);background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Name of each exchange on which registered</span></p></td>
   </tr>
   <tr>
    <td style="background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;border-left:0.500pt solid rgba(0,0,0,1);vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9.0pt;">
    <td style="background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;border-left:0.500pt solid rgba(0,0,0,1);vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9c7e737c-b9ef-4eda-9570-52e26cdde482" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:Security12bTitle"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Common stock, par value $0.005 per share</span></ix:nonNumeric></span></p></td>
    <td style="background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c9e59196-a9ef-4565-b2a8-08bfec8fee9f" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:TradingSymbol"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">SSTI</span></ix:nonNumeric></span></p></td>
    <td style="background-color:rgba(0,0,0,0);border-right:0.500pt solid rgba(0,0,0,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_89b254ec-c48d-4f9b-8c0c-50f3b57d4909" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Nasdaq</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;Capital Market</span></p></td>
   </tr>
  </table>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">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.     </span><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d5d45d76-ec40-4b44-ac7d-a9095084bc87" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityCurrentReportingStatus"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Yes</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">  &#9746;    No  &#9744;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">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 (&#167; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    </span><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_2dadb317-08ef-4864-ae16-8054150e58d3" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityInteractiveDataCurrent"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Yes</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">  &#9746;    No &#9744;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, smaller reporting company, or an emerging growth company. See the definitions of &#x201c;large accelerated filer,&#x201d; &#x201c;accelerated filer,&#x201d; &#x201c;smaller reporting company,&#x201d; and &#x201c;emerging growth company&#x201d; in Rule 12b-2 of the Exchange Act.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:6.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:21.4%;"></td>
    <td style="width:0.602%;"></td>
    <td style="width:52.643%;"></td>
    <td style="width:1.09%;"></td>
    <td style="width:21.555%;"></td>
    <td style="width:1.007%;"></td>
    <td style="width:1.703%;"></td>
   </tr>
   <tr style="height:10.8pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Large accelerated filer</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#9744;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Accelerated filer</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#9744;</span></p></td>
   </tr>
   <tr style="height:9.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_45a4528c-e2c2-4efb-aa13-1c3bfd32789a" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Non-accelerated filer</span></ix:nonNumeric></span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#9746;</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">  </span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Smaller reporting company</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5d8c35c3-6029-4aad-992c-7a57501e1704" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:9.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Emerging growth company</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_657f37d8-80cc-488e-85d1-4a91a8dfee92" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:2.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Wingdings;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:6.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">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="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_49bc86c9-ceaf-4572-9548-b097fb4c6d2b" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityExTransitionPeriod" format="ixt-sec:boolballotbox"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes  </span><span style="font-size:9.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c8c77773-1236-485b-a623-cd3159703aac" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="dei:EntityShellCompany" format="ixt-sec:boolballotbox"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">    No  &#9746;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">As of April 30, 2022 the registrant had </span><span style="font-size:9.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d3018368-7062-4233-972d-a5bf172716b6" contextRef="C_1c6d347c-2db7-4b45-b812-eb0ac9ef5b98" name="dei:EntityCommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">12,141,630</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"> shares of common stock, $0.005 par value per share, outstanding.</span></p>
  <p style="text-indent:0.0%;padding-bottom:1.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;border-bottom:2.250pt double;text-align:left;"><span style="white-space:pre-wrap;font-size:3.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Table of Contents</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:8.857%;"></td>
    <td style="width:81.583%;"></td>
    <td style="width:9.56%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;text-indent:6.85pt;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="margin-left:6.85pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(0,0,0,1);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Page</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">PART I.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><a href="#part_i_financial_information"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">FINANCIAL INFORMATION</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 1.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#item_1_condensed_consolidated_financial_"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated Financial Statements</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;text-indent:6.85pt;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="margin-left:6.85pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#condensed_consolidated_balance_sheets"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated Balance Sheets</span><span style="color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;text-indent:6.85pt;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="margin-left:6.85pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#condensed_consolidated_statements_operat"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated Statements of Operations</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;text-indent:6.85pt;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="margin-left:6.85pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#condensed_consolidated_statements_compre"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated Statements of Comprehensive Income (Loss)</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;text-indent:6.85pt;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="margin-left:6.85pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#condensed_consolidated_statements_equity"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated Statements of Stockholders&#x2019; Equity</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;text-indent:6.85pt;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="margin-left:6.85pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#condensed_consolidated_statements_cash_f"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated Statements of Cash Flows</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;text-indent:6.85pt;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="margin-left:6.85pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#notes_to_condensed_consolidated_financia"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Notes to Condensed Consolidated Financial Statements</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 2.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#managements_discussion_analysis_financia"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 3.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#item_3"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Qualitative and Quantitative Disclosures About Market Risk</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">27</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 4.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#item_4_controls_procedures"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Controls and Procedures</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">27</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">PART II.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#partii_other_informations"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">OTHER INFORMATION</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 1A.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#item_1a_risk_factors_1"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Risk Factors</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 2.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#item_2_unregistered_2"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Unregistered Sales of Equity Securities and Use of Proceeds</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 6.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="#item_6_exhibits"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibits</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td colspan="2" style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><a href="#exhibit_index"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibit Index</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">58</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td colspan="2" style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:middle;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><a href="#signatures"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Signatures</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">59</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:-1.902%;padding-left:1.867%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:-1.902%;padding-left:1.867%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="part_i_financial_information"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">PART I. FINANCI</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">AL INFORMATION</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;" id="item_1_condensed_consolidated_financial_"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 1. 	Condensed Consolid</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ated Financial Statements</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="condensed_consolidated_balance_sheets"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolida</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ted Balance Sheets</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(In thousands, except share and per share data)</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:63.326%;"></td>
    <td style="width:1.605%;"></td>
    <td style="width:1.346%;"></td>
    <td style="width:14.485%;"></td>
    <td style="width:0.901%;"></td>
    <td style="width:1.605%;"></td>
    <td style="width:1.346%;"></td>
    <td style="width:14.485%;"></td>
    <td style="width:0.901%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(Unaudited)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Assets</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Current assets</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_665dc10c-2c0b-4efe-91c0-54c0c870e526" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8,852</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ac40aeb4-3f00-4dab-a7ee-9b00782bbac2" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">15,636</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable and contract asset, net</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_942962f8-b5f3-42f6-a38e-93ef297d5f08" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="ssti:AccountsReceivableAndContractAssetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">21,256</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ee165f2b-dae0-4671-ab91-d929aa8625af" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="ssti:AccountsReceivableAndContractAssetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">16,134</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c86d069d-50a1-4651-bec0-843e4d4e7d11" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,456</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_26c92306-34bd-40a9-a97a-7075ea75292b" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,504</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total current assets</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5f3653b9-8b3d-4f66-9a64-2f0789850af1" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">32,564</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2f60d9e0-061e-4aea-bd9b-e7520b9d5159" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">34,274</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment, net</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c86195af-1638-47d6-8a47-178e27bb4fe8" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">18,707</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d424651f-815f-434a-ae95-fb41e8e43b5d" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">17,409</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease right-of-use assets</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a065f022-324c-45a0-9754-719464a780f0" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">3,961</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e40f6082-89da-474c-8678-bcaf9e9dc5d3" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,323</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Goodwill</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_50b576ab-85bc-47cf-9a08-9f7508d485a0" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">23,171</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0f78a530-dd1d-4244-b1e0-5677dbc2a88f" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,816</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_428ddcca-61db-48e9-9aef-8b64e2bd34a8" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">29,220</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0d864a08-ced0-4357-84e5-ec16cf0efadc" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">13,564</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other assets</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_559a12df-ff8b-4462-b8d7-5434d6611e52" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,581</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8b1f753f-5d25-4c91-b7ef-d09a0fbcf349" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,918</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:15.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total assets</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_722ee4b0-74d7-4e8b-ab79-5f797d52c2fa" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">110,204</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3413620c-95d1-41b0-a0c9-5ca31acfa1d3" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">72,304</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Liabilities and Stockholders' Equity</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Current liabilities</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts payable</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e42f1fc0-306e-4f62-81b0-fe0f22c4157b" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,449</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_91b882b9-860e-4b8b-af0e-1fa4a8c20560" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,587</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred revenue, short-term</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8fd43315-0134-4ee6-9b9a-1ed3f17bc1f5" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">33,886</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6242c7a8-b46a-4755-8e22-f19e53df1c56" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">26,235</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_08b594ce-9a5d-4d7b-b0a7-3f7f89b3d81a" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">12,952</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_99df69db-082b-4026-8f72-89ef3debc886" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">6,680</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total current liabilities</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5b3e3621-5da9-4c37-a909-2818bf0e6601" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">49,287</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_92d64cf9-b04d-46bc-80bc-e4843ff0300a" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">34,502</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred revenue, long-term</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_909de9a8-643d-4ee8-8aa5-b847a6bc5a8e" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,623</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d85e0b53-8132-4a94-a854-dfc693d50d7e" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">474</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other liabilities</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8f0d955c-61dc-4f31-886a-65c6a7eebe5d" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">10,519</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e27cf26a-8714-4af8-96c6-5978aca0b8a5" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">3,513</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:15.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total liabilities</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_da7904b9-c494-4064-a433-8ebac9b57970" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">61,429</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1544f8bc-00a4-4e94-8607-4c9ae147a398" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">38,489</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_b4f15d7d-fd39-4d54-a895-fb8bf7e2f0a0;"><span style="-sec-ix-hidden:F_2c6be4d4-9211-48a5-8fd8-4e05655697b2;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Commitments and contingencies (Note 13)</span></span></span></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Stockholders' equity</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Preferred stock: $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_02330c67-8bc1-48d6-9f2b-615dd2f23f0e" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_USDollarShare" decimals="INF" format="ixt:numdotdecimal"><ix:nonFraction id="F_ce310ea7-72d8-4d24-9443-7259c6c56d78" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:PreferredStockParOrStatedValuePerShare" unitRef="U_USDollarShare" decimals="INF" format="ixt:numdotdecimal">0.005</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;par value; </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_62827488-49e3-46b1-9aba-5dba479bc567" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal"><ix:nonFraction id="F_64c895ce-27f1-4a94-b250-5bc750ad1a74" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:PreferredStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">20,000,000</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;shares authorized; </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7f2debb5-3882-422f-a85c-31f7cbfc2c7e" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_1c7e48a8-542d-4ea7-bc5a-d3c49783a310" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_337aba9d-0232-406f-92e2-bef4e3ff9d0a" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:PreferredStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_03d8f42d-2477-4341-9882-bef4eb6f5c69" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:PreferredStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;shares<br />&#160;&#160;&#160;issued and outstanding as of March 31, 2022 and December 31, 2021</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_e8814fd1-13b0-4da7-8d7e-13baa9029cba;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></span></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_cf9a83a1-ea13-4ce7-95a6-419263fad9c4;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></span></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Common stock: $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7e8b31d7-cca6-47e3-8460-84dd1f72796f" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_USDollarShare" decimals="INF" format="ixt:numdotdecimal"><ix:nonFraction id="F_b93f0732-06fd-4f78-9606-a2f69708b3ac" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_USDollarShare" decimals="INF" format="ixt:numdotdecimal">0.005</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;par value; </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5e8830af-b2ef-4af5-bd89-4acf6e9efeb2" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal"><ix:nonFraction id="F_be8b4513-1c3a-45e9-adc6-be6c91e46412" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">500,000,000</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;shares authorized; <br />&#160;&#160;&#160;</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_007f6397-f126-4705-9174-08597c4309a8" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal"><ix:nonFraction id="F_4d92cd54-d528-4e90-b46d-9269221c5690" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">12,141,630</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8ec3d829-f506-475c-9a24-e32bddb232bf" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal"><ix:nonFraction id="F_603ceb99-596c-4ac3-8905-50dc2ba2d7bf" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">11,703,430</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;shares issued and outstanding as of<br />&#160;&#160;&#160;March 31, 2022 and December 31, 2021, respectively</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2e27007e-3fef-4633-acd5-7c858c9b1722" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">61</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ea203e13-341f-4f0b-add2-a59fb5ae0fc8" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">58</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Additional paid-in capital</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b1abd110-3590-446d-9149-58e584959d85" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">147,277</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9549e613-2d5d-485f-b546-c837ad324e14" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AdditionalPaidInCapitalCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">132,780</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated deficit</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cc519138-45b1-494f-a010-1cf15909fefc" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">98,398</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9c0351d6-7b7b-4cbe-9dcf-c4a9d39ca64b" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">98,785</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated other comprehensive loss</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ca0b6e4f-af49-4514-9b64-cc502f3d419b" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">165</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_698e132e-2b3e-4312-a5bb-7d6ea49a014a" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">238</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:15.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total stockholders' equity</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4dfadf09-2cd4-4288-afee-0a77f3f88a21" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">48,775</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_49ce80eb-ddcf-4a6f-afa0-7517337bbbd1" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">33,815</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:15.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total liabilities and stockholders' equity</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5f110074-15a5-4406-a3e4-f53f86cd8f3f" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">110,204</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0184adfb-7725-49c5-8966-86db46a6f5bc" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">72,304</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">See accompanying notes to condensed consolidated financial statements.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="condensed_consolidated_statements_operat"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated S</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">tatements of Operations</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(In thousands, except share and per share data)</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Unaudited)</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:63.757%;"></td>
    <td style="width:1.729%;"></td>
    <td style="width:1.336%;"></td>
    <td style="width:14.228%;"></td>
    <td style="width:0.901%;"></td>
    <td style="width:1.584%;"></td>
    <td style="width:1.336%;"></td>
    <td style="width:14.228%;"></td>
    <td style="width:0.901%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(Unaudited)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Revenues</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dfcd71a9-e8ce-4ba1-a865-5160cf80026d" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">21,214</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_aadc4031-4354-4384-8385-1cc3f4240100" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">15,013</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Costs</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenues</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f616b8ad-f751-45c6-86d1-73729e25b13e" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8,290</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_546ac04d-3a59-45d3-a2a5-184b45281d7c" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">6,300</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Impairment of property and equipment</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8a84f294-3e69-4099-a97f-129362f82106" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="ssti:ImpairmentOfPropertyAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">25</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total costs</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b3e48e46-c51f-4ec5-ab1a-f666f38aa756" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8,290</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_fe1235c2-c710-490e-ae26-e858a56aa09a" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">6,325</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Gross profit</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_59e0a710-7917-4e6d-b68a-76d5096ecca8" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:GrossProfit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">12,924</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c3ac3556-0da3-4bc4-859a-72e4d2b2c005" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:GrossProfit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8,688</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating expenses</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales and marketing</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7dc96cd5-4039-421a-910a-d408c1a71528" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:SellingAndMarketingExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">5,576</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5b640e42-2b41-4b5d-8f80-020abb0e5aa9" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:SellingAndMarketingExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">3,935</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f8189f59-e0d8-4e35-8950-8787a3ceac57" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,627</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f99450f9-ea81-4b36-b55d-e42d3579f65f" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,713</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cb30aec9-58be-4b9c-900c-0169e7d2423c" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:GeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">4,289</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_906e8ed9-a2a5-4756-944e-e01afb5fa93d" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:GeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,871</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total operating expenses</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_09616a0d-28f2-4820-82af-51d2b534d178" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:OperatingExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">12,492</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9a53dae7-eceb-46cc-affb-03d850256a39" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:OperatingExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8,519</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating income</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_77c0ba49-f11f-4899-9d64-78ac7be72c02" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">432</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e0b80727-4017-4712-9877-27d3bc5b0166" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">169</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other income (expense), net</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Interest income, net</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9b732fdb-770e-4440-afe4-7d7e14142556" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:InterestIncomeExpenseNonoperatingNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c18d9224-82e3-4d74-a2f6-0e1d7fe81cd7" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:InterestIncomeExpenseNonoperatingNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">11</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other expense, net</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_60c0d10f-742c-462b-bc5d-845a92b96c35" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">53</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_fab3742e-f1cf-4200-b40e-98ca4042f65c" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">52</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total other income (expense), net</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9325a687-b5ba-4b84-917d-e9d622aafe24" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">45</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8f8fd0fa-4ab4-459a-87ff-1d621187a17e" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:NonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">41</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Income before income taxes</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_fa771bca-24b6-49a8-b426-a31ea3700e7b" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">387</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9dc32a7a-caa9-4619-98c7-7d98b26c8307" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">128</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Provision for income taxes</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_06ac99e3-6e96-4e31-8910-87796c133a24" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">49</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_44629c15-1408-49ea-a883-852e4a3449ad" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">387</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9b2ebd62-0c0a-48fb-97d9-158ed9c019d7" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">79</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income per share, basic</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c010e153-0944-4a7a-9456-bf79f5267a96" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">0.03</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1154f1a3-8961-4f64-868e-52be4526f95c" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">0.01</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income per share, diluted</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e5c2bfae-f4c8-411d-8974-93cae70c938b" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">0.03</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_04780539-f08a-435e-a87e-6569494fd021" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">0.01</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted average shares used in computing adjusted net income per share, basic</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3c564e5d-3ca3-48ee-94de-be997501fdf4" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:numdotdecimal">12,156,968</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d169d402-461e-4078-bb90-92f523717a4c" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:numdotdecimal">11,584,605</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted average shares used in computing adjusted net income per share, diluted</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ac70110b-ff3d-4c66-b159-771d01a0ccae" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:numdotdecimal">12,315,806</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5d977868-91d2-4416-ab21-23d546643539" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:numdotdecimal">11,898,362</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">See accompanying notes to condensed consolidated financial statements.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="condensed_consolidated_statements_compre"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated State</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ments of Comprehensive Income</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(In thousands)</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Unaudited)</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:56.322%;"></td>
    <td style="width:2.102%;"></td>
    <td style="width:1.346%;"></td>
    <td style="width:17.593%;"></td>
    <td style="width:0.694%;"></td>
    <td style="width:2.102%;"></td>
    <td style="width:1.346%;"></td>
    <td style="width:17.593%;"></td>
    <td style="width:0.901%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_bce531da-aa1c-45ef-91be-702923c285c3" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">387</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e0c600b2-5950-429e-a8fd-dc27c8a08ebc" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">79</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other comprehensive income (loss):</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Change in foreign currency translation adjustment</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_fa66b3f1-8326-4adf-ab35-9072b87a318d" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">73</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d0b4499d-5beb-495d-8666-84e92f6b5eea" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">17</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Comprehensive income</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_51a413c8-ccbe-4fb0-8d38-bf33e5da4930" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">460</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f35a5e18-614b-4901-ad0b-8e95048033f2" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">62</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">See accompanying notes to condensed consolidated financial statements.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="condensed_consolidated_statements_equity"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated Stat</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ements of Stockholders&#x2019; Equity</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(In thousands, except share data)</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Unaudited)</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:30.156%;"></td>
    <td style="width:1.461%;"></td>
    <td style="width:0.528%;"></td>
    <td style="width:8.08%;"></td>
    <td style="width:0.715%;"></td>
    <td style="width:1.461%;"></td>
    <td style="width:1.077%;"></td>
    <td style="width:7.604%;"></td>
    <td style="width:0.528%;"></td>
    <td style="width:1.461%;"></td>
    <td style="width:1.077%;"></td>
    <td style="width:7.552%;"></td>
    <td style="width:0.715%;"></td>
    <td style="width:1.461%;"></td>
    <td style="width:1.077%;"></td>
    <td style="width:9.251%;"></td>
    <td style="width:0.715%;"></td>
    <td style="width:1.461%;"></td>
    <td style="width:1.088%;"></td>
    <td style="width:9.303%;"></td>
    <td style="width:0.715%;"></td>
    <td style="width:1.461%;"></td>
    <td style="width:1.077%;"></td>
    <td style="width:9.261%;"></td>
    <td style="width:0.715%;"></td>
   </tr>
   <tr style="height:7.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Common Stock</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Additional<br />Paid-in</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated<br />Other<br />Comprehensive</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Total<br />Stockholders' <br />Equity/</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:7.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Shares</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Par Value</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Capital</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Deficit</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Income (Loss)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">(Deficit)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Balance at January 1, 2022</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_34ec1c40-56d6-4903-88af-14b5406dded6" contextRef="C_e2a80031-945f-47a5-a810-701522f900fc" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">11,703,430</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8ea5c5c6-97cf-4e56-b276-eb531e3febd8" contextRef="C_e2a80031-945f-47a5-a810-701522f900fc" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">58</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_988d6abe-d929-44ca-98d6-cc91e962b13b" contextRef="C_10a1619b-8d80-4a93-82dc-0f42920bbe0c" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">132,780</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_102c1d5d-48c7-446e-8029-9d9b96d8f080" contextRef="C_9155f498-db82-4ded-8c5f-d0176a497a05" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">98,785</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f0073483-be2d-47c9-b42d-2fb148f7675f" contextRef="C_56241372-836c-4631-8a97-1963346dab4e" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">238</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_67551bd5-71fb-4a62-9c77-0229b9ed1a32" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">33,815</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Exercise of stock options</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_bd8198ea-6f3b-4803-a6e8-05105a250312" contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">8,528</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3d542992-268a-4c68-b987-0e56fb752d6a" contextRef="C_ceda8827-c01d-4028-9ca3-685c787d5d0b" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">13</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0fd8e0ab-7b9c-4aed-bd25-6eba0bccc188" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">13</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Repurchase of common stock</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_227bfd6c-bdca-439c-aa62-a5bb9215c48c" contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">57,623</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9955d85a-4b5f-47ab-aed0-a7ccbb932668" contextRef="C_ceda8827-c01d-4028-9ca3-685c787d5d0b" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,634</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f4afd79c-22e7-48e8-9da9-9cebc9ccc5e5" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,634</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Issuance of common stock from RSUs vested</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_68f03250-e1a6-4851-bad4-b573f1ca3aab" contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9" name="ssti:StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">22,755</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Issuance of common stock for acquisition</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f0e82a53-5c0d-427e-957b-07201e550670" contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">464,540</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3bd8c1f8-6460-425d-9c74-cdd8be0620b8" contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">3</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d61815fb-aea4-432e-b551-41d2b6e7d1b9" contextRef="C_ceda8827-c01d-4028-9ca3-685c787d5d0b" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">14,263</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_99210859-6fe2-4974-ad5f-12da1af65ada" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">14,266</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_68abbae3-0679-4329-82f3-88112c5a7e70" contextRef="C_ceda8827-c01d-4028-9ca3-685c787d5d0b" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,855</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_016ce1aa-530b-4b34-a3f5-c21376d84699" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,855</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Other comprehensive income</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_da76cb0a-56e2-41a7-8039-0c6f3c644a13" contextRef="C_f086e84e-aaff-421f-b0c4-0133e95abe9f" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">73</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1ba7794a-3ac5-4df0-9f65-42a0d0aa8c1d" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">73</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9ec4f53b-afab-4058-9da9-d6f6d0628298" contextRef="C_847e9941-df00-4d67-ae0a-bb53a9bab527" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">387</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_714da149-ae55-4765-a4fb-e42d285335b9" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">387</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Balance at March 31, 2022</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b0cc65e7-cc5c-4333-b836-de9296dc8eec" contextRef="C_013a8e8f-c6a7-4437-8a68-81c08d11b6bb" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">12,141,630</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4aefa44b-c77c-4273-94e4-46d446d55e54" contextRef="C_013a8e8f-c6a7-4437-8a68-81c08d11b6bb" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">61</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_48094d18-d9e2-4d08-9ce5-1886869226fe" contextRef="C_69f5bbbc-32bd-4059-80b2-6cbe368e83e0" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">147,277</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_841fb276-239b-4584-9351-c7e967df95c3" contextRef="C_c885d15f-9678-4e90-bcd6-a44c20a9c586" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">98,398</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_49248516-db36-41a7-8507-63d5114e80b8" contextRef="C_24466a16-3d8a-44a7-8b64-2466c8f7399b" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">165</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4f6f3c8b-f50e-4de6-87f5-2bf8bc378928" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">48,775</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:30.247%;"></td>
    <td style="width:1.44%;"></td>
    <td style="width:0.528%;"></td>
    <td style="width:8.08%;"></td>
    <td style="width:0.715%;"></td>
    <td style="width:1.44%;"></td>
    <td style="width:1.077%;"></td>
    <td style="width:7.624%;"></td>
    <td style="width:0.528%;"></td>
    <td style="width:1.44%;"></td>
    <td style="width:1.077%;"></td>
    <td style="width:7.551%;"></td>
    <td style="width:0.715%;"></td>
    <td style="width:1.44%;"></td>
    <td style="width:1.077%;"></td>
    <td style="width:9.26%;"></td>
    <td style="width:0.715%;"></td>
    <td style="width:1.44%;"></td>
    <td style="width:1.088%;"></td>
    <td style="width:9.302%;"></td>
    <td style="width:0.715%;"></td>
    <td style="width:1.44%;"></td>
    <td style="width:1.077%;"></td>
    <td style="width:9.271%;"></td>
    <td style="width:0.715%;"></td>
   </tr>
   <tr style="height:7.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Common Stock</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Additional<br />Paid-in</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated<br />Other<br />Comprehensive</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Total<br />Stockholders' <br />Equity/</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:7.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Shares</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Par Value</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Capital</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Deficit</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">Income (Loss)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">(Deficit)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:7.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:7.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Balance at January 1, 2021</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a627b944-e42e-4248-85af-c2d46b786468" contextRef="C_eb0806c9-cd9b-413b-8f47-de2bacb95acd" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">11,538,998</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_558807d8-1cd0-4166-a80b-780666fda4f8" contextRef="C_eb0806c9-cd9b-413b-8f47-de2bacb95acd" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">58</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_133c73f8-7ead-4911-8eb1-7d50a59c4c27" contextRef="C_9cbf2ee2-894f-4a71-b626-698b19667284" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">128,771</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_07e6dea7-1275-490c-b680-be7324d51fb0" contextRef="C_f20a2430-6b11-44bf-b344-9ac90161c69a" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">94,354</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f64617e7-78b0-4f5e-a08b-fbf43bd594f4" contextRef="C_ac64ea28-323e-4973-aee6-6462d61aa55e" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">170</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_42fb9dba-88c9-4375-89d0-5fa0df53cf7d" contextRef="C_3736fb25-2053-4120-9851-540beeb0c02f" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">34,305</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Exercise of stock options</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c9d45ba5-74c9-472a-854e-baa393cb0a78" contextRef="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">60,600</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7b15fc5d-5fe2-4f90-9145-0d7b189e8c17" contextRef="C_f693f9e2-fcf5-4500-886e-d308a3e00976" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">213</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_34f89fb8-0c45-4fe8-9be3-493a4dd59756" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">213</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Issuance of common stock in connection with exercise of warrants</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c0a1f0a9-68b1-4f7f-9681-691aee9d892d" contextRef="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e" name="ssti:StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">50,716</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b83ae0e9-38bb-44d2-bd90-7de2524ecc66" contextRef="C_f693f9e2-fcf5-4500-886e-d308a3e00976" name="ssti:StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8a54f114-dbdf-4211-a973-c531c99ed805" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="ssti:StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Issuance of common stock from RSUs vested</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_98847899-5d82-4275-ba99-a4ad90f42691" contextRef="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e" name="ssti:StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">24,332</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Repurchase of common stock</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_74c273bf-b765-44f1-8fa6-13e10255b0a1" contextRef="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">56,162</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1add4e3b-b3a4-4105-914b-7b79a55c1408" contextRef="C_f693f9e2-fcf5-4500-886e-d308a3e00976" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,192</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_465e4254-be3e-4697-adbd-02a5d18ea53c" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,192</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_054df94f-b4ee-4630-b63c-d2d1c4a3dfa3" contextRef="C_f693f9e2-fcf5-4500-886e-d308a3e00976" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,375</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b1a50879-58d5-4eba-801e-6bbe9d07bf36" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,375</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Other comprehensive loss</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ee30b0d8-bf90-44a6-aace-bea2d72ebb58" contextRef="C_ac2383f8-92eb-4b35-a1be-833c41494387" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">17</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8b12ab7f-3df6-4a45-bcc0-50d96a64556d" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">17</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f589c808-1807-4bbb-aa26-7e84acd76c67" contextRef="C_6fbf2e10-7fc5-48f6-877b-2274696167fe" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">79</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_43afd955-c431-457b-9e45-31a444657430" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">79</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Balance at March 31, 2021</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0a435f06-5d86-479f-b424-eeefdb80ee00" contextRef="C_a7449ef2-b425-4a7d-9851-4d5a0c0cccc7" name="us-gaap:SharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">11,618,484</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c395cfac-9245-49e5-b09e-d66dac9a4292" contextRef="C_a7449ef2-b425-4a7d-9851-4d5a0c0cccc7" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">58</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_af1f7690-851c-4ce4-9a44-2e52c4b0a51d" contextRef="C_eacf896e-0272-4152-9e89-a1cf28665b32" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">128,175</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6a96d009-cf05-4699-8c27-61129c6644b7" contextRef="C_72cd9c5e-0719-4cd4-84e7-551f796cb4b2" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">94,275</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_08197cb0-c6eb-43dd-9e9a-64f6cd4ec163" contextRef="C_713f7152-5be2-4f20-960a-94e306fa3467" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">187</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b06a4214-b453-4169-b37f-8f35dd735b49" contextRef="C_b2e06c7d-9265-40ca-aa39-9c11a2b3a5ae" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">33,771</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">See accompanying notes to condensed consolidated financial statements.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="condensed_consolidated_statements_cash_f"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Condensed Consolidated S</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">tatements of Cash Flows</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(In thousands)</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Unaudited)</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:57.801%;"></td>
    <td style="width:2.04%;"></td>
    <td style="width:1.087%;"></td>
    <td style="width:17.248%;"></td>
    <td style="width:0.725%;"></td>
    <td style="width:2.04%;"></td>
    <td style="width:1.087%;"></td>
    <td style="width:17.248%;"></td>
    <td style="width:0.725%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_056f8a47-2035-40d3-93fd-75564a342e00" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ProfitLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">387</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9d20b3b9-6fea-42b2-ab84-602ffd198113" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ProfitLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">79</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Depreciation of property and equipment</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d4a14655-0da6-483d-82ca-c3fa01131722" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:Depreciation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,487</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b30261af-6ff8-4c63-a0ee-a48e0ef91890" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:Depreciation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,393</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Amortization of intangible assets</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d14df864-ae66-4de9-86d0-473e558a9f2b" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">695</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5f76bdb8-9069-487a-add2-5e4a0486fca8" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">259</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Impairment of property and equipment</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e9ea74ae-1799-4a16-aa8f-638be312cb58" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ProductionRelatedImpairmentsOrCharges" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">25</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e0654ce7-447d-4803-8e0c-b23ecaeda421" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,855</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_687c4212-eff8-4785-82d1-b32d07eb3e0e" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,375</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Provision for accounts receivable</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c68041ab-a805-4983-9611-90535ffbe251" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ProvisionForDoubtfulAccounts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">77</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_bd1d8918-69ef-4646-8870-82ec3e1bb6e0" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ProvisionForDoubtfulAccounts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">44</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Changes in operating assets and liabilities:</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:15.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable and contract asset</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4724c331-9a85-473c-bc7f-6eeb7f057995" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="ssti:IncreaseDecreaseInAccountsReceivableAndContractAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">4,976</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_77579d4f-ed93-4a69-811e-723ca8c01fc8" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="ssti:IncreaseDecreaseInAccountsReceivableAndContractAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">3,929</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:15.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other assets</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_30afe8ed-6a4a-4bdb-90fe-f1781563b660" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">439</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6a0ed046-8c4f-491f-9760-edee5ccfe6ee" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">134</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:15.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts payable</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6b922a59-7c53-4ca8-84c2-5c0d492ecdd9" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">145</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:15.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0592da76-685d-4c80-b706-68ce1cfb130d" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">1,220</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a1af6b21-f915-40f3-a440-7766366b88b4" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">1,451</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:15.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred revenue</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_58316f31-e5b2-463e-9c6c-db8841856e2c" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">3,417</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4b474b1b-d2fb-41c5-afe3-9f254927397d" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">430</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:20.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:20.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net cash provided by (used in ) operating activities</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_aa0afa51-bbb3-4c32-bd0e-8777c9c9f121" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,283</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_44ad73c4-88b2-4d26-8773-4daf16d97560" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">1,496</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Cash flows from investing activities:</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Purchase of property and equipment</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8529be86-5c2a-42e3-909c-c16f4e81cd70" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,900</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_31b5dbb9-1d86-4b43-8cba-e20c1daff3ac" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,233</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Investment in intangible and other assets</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a44aec77-1ee7-497e-a880-0cfcd06545f9" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="ssti:PaymentForInvestmentInIntangibleAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_433f6b73-0800-4907-84f9-113071025b03" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="ssti:PaymentForInvestmentInIntangibleAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">13</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Business acquisition, net of cash acquired</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_63b980f2-c3b1-4145-ac45-ada4d01fa333" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">4,618</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5eee3712-88ee-4264-a90e-befa74bec713" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">15</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:20.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:20.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net cash used in investing activities</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_26f26b29-678f-4d12-8b14-ff7fa32ddf4a" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">6,526</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dc60259d-e76a-403f-82b6-0fb332934ef4" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">1,231</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Cash flows from financing activities:</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Payment of contingent consideration liability</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0a9f1b4b-3a4d-401b-94b1-4e1365e98b7a" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">403</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from exercise of stock options</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_739777d9-8e50-4388-9b26-7d8b0d322dfd" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">13</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4c4c4c4d-cdf5-4332-bcb2-3c37f989b29f" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">213</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Repurchases of common stock</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_56e2ac51-dacf-419a-901b-00ac4a503da2" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,634</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_54bc2b71-9acd-421c-87ae-d7075ae0b081" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,192</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Proceeds from exercise of warrants</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_baeab1d4-42fd-4c7d-b762-ee826a66b9bb" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ProceedsFromWarrantExercises" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:20.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:20.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net cash used in financing activities</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.500pt solid rgba(0,0,0,1);background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.500pt solid rgba(0,0,0,1);background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8f64ff93-e8a4-44f9-a191-dd71b991834f" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">1,621</ix:nonFraction></span></p></td>
    <td style="border-top:0.500pt solid rgba(255,255,255,0.01);background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.500pt solid rgba(0,0,0,1);background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.500pt solid rgba(0,0,0,1);background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_131fa32d-996a-4009-9bb7-41e585cc5fb2" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">2,374</ix:nonFraction></span></p></td>
    <td style="border-top:0.500pt solid rgba(255,255,255,0.01);background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Decrease in cash, cash equivalents and restricted cash</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3619e782-11f2-49a6-b56f-cfc414d137b1" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">6,864</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ad780358-6eb7-4628-90cf-43220b6e406d" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">5,101</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Effect of exchange rate on cash and cash equivalents</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_477e583d-b461-4d68-8b23-36b8cf9171b1" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">80</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_059b70d6-69fb-4f67-ab76-cd84005569fd" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">2</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Cash, cash equivalents and restricted cash at beginning of year</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4b7c27dd-0537-455b-a486-45339e5d1c6a" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">15,636</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_05de15e0-3a50-4b8c-a369-49a6d8f03a3b" contextRef="C_3736fb25-2053-4120-9851-540beeb0c02f" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">16,043</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Cash, cash equivalents and restricted cash at end of year</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_550b4ff4-59fc-42af-96c2-58242db87a0f" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8,852</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_53a3a5da-2286-4021-8f5d-1c7589bdb3f1" contextRef="C_b2e06c7d-9265-40ca-aa39-9c11a2b3a5ae" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">10,940</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Supplemental cash flow disclosures:</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Cash paid for income taxes</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Supplemental disclosure of non-cash financing activities:</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:bottom;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment purchases included in accounts payable</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c79747bc-cd5e-4365-8625-4e526608e57d" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="ssti:PropertyAndEquipmentPurchasesIncludedInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">731</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c4e05f6d-16bb-484c-962d-abe5e620f9f2" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="ssti:PropertyAndEquipmentPurchasesIncludedInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">590</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:bottom;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Fair value of contingent consideration</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_eb9c1d6a-5275-4600-b188-458fa5955f10" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="ssti:FairValueOfContingentConsideration" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">12,400</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:bottom;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Fair value of common stock issued as consideration for business acquisition</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:8.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3d5fdb6e-a0d8-4df9-a38c-ece6afb35f11" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="ssti:FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">14,266</ix:nonFraction></span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">See accompanying notes to condensed consolidated financial statements.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="notes_to_condensed_consolidated_financia"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Notes to Condensed Consoli</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">dated Financial Statements</span></p>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_252c73ee-2754-4311-817f-83771cc44121" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:10.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 1. Organization and Description of Business</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc. (the &#x201c;Company&#x201d;) provides precision-policing solutions for law enforcement and security personnel to help prevent and reduce gun violence and make cities, campuses and facilities safer. The Company&#x2019;s flagship product, ShotSpotter Respond is the leading outdoor gunshot detection, location and alerting system trusted by over </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f5982b50-9bdf-4edd-b463-edd4764dc57d" contextRef="C_aa1873bc-e3db-4e52-8998-c3376e3fefb6" name="ssti:NumberOfCitiesInWhichEntityOperates" unitRef="U_City" decimals="INF" format="ixt:numdotdecimal">130</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">cities as of March 31, 2022. ShotSpotter Connect creates crime forecasts designed to enable more precise and effective use of patrol resources to deter crime. The Company&#x2019;s case management solution, ShotSpotter Investigate, and search and analysis solution, COPLINK X, are cloud-based investigative platforms to help law enforcement agencies modernize every phase of an investigation and accelerate case work with easy-to-use software tools. The Company offers its solutions on a Software as a Service, (&#34;SaaS&#34;), subscription model to its customers. ShotSpotter Labs is the Company&#x2019;s effort to support innovative uses of its technology to help protect wildlife and the environment.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company&#x2019;s principal executive offices are located in Fremont, California. The Company has </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_324a4c99-8d10-4c07-b2c6-3239563b93dc" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="ssti:NumberOfSubsidiary" unitRef="U_Subsidiary" decimals="INF" format="ixt-sec:numwordsen">five</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> wholly-owned subsidiaries.</span></p></ix:nonNumeric></div>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_ad38df7a-47cb-4960-86ab-f2877846be8b" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:SignificantAccountingPoliciesTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 2. Summary of Significant Accounting Policies</span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d6d0439e-f2c6-4b99-9546-0ea60555787c" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (&#x201c;U.S. GAAP&#x201d;) and applicable rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company&#x2019;s Annual Report on Form 10-K for the year ended December 31, 2021 (&#x201c;Annual Report&#x201d;) filed with the SEC on March 29, 2022.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive income (loss), stockholders&#x2019; equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2022 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8154baf5-da42-4cf2-afbc-2c2149ac4ac0" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:UseOfEstimates" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company&#x2019;s financial position and results of operations.</span></p><ix:exclude><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7</span></p>
       <hr style="page-break-after:always;" /><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:exclude><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company makes an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.</span></p></ix:nonNumeric></div><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d61ccb89-1516-4c58-abce-4f2ae5d6d159" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ConcentrationRiskCreditRisk" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Risk</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Credit Risk</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#x2013; Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its cash deposits at two domestic and four international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents.</span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Accounts Receivable and Contract Asset</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#x2013; At March 31, 2022, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9a3becc3-2642-47e3-9f8d-5c6e50c1ca07" contextRef="C_a75b9ebe-c12f-409f-a67e-f6f5b2af1084" name="ssti:NumberOfCustomers" unitRef="U_Customer" decimals="INF" format="ixt-sec:numwordsen">two</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1a4fb881-084f-4bc0-8934-9963774bf0c8" contextRef="C_f8fe2972-47b2-42f5-83c0-73f012720d9b" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">38</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_72f3ef9d-55c6-46eb-bb4d-20a25c60d349" contextRef="C_25251528-9af4-4905-be67-943ba86f608d" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">15</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#x2019;s total accounts receivable, respectively. At December 31, 2021, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_11a880f9-47c7-4075-9c16-d7fbc66556b1" contextRef="C_3b619813-ae07-4d2d-9852-8f085df573f9" name="ssti:NumberOfCustomers" unitRef="U_Customer" decimals="INF" format="ixt-sec:numwordsen">one</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customer accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2802db8a-5787-4916-aaae-c97c2b860257" contextRef="C_48e71403-207a-49f2-b9e5-81480f3100fa" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">65</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#x2019;s total accounts receivable.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Revenues</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#x2013; For the three months ended March 31, 2022, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_735e47a5-ee77-4e24-99de-eb7456e751f4" contextRef="C_689186f9-cf1e-4f8f-ac98-c83c35dd888d" name="ssti:NumberOfCustomers" unitRef="U_Customer" decimals="INF" format="ixt-sec:numwordsen">two</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b6813e57-178c-4922-bc97-3e7754fdcbc9" contextRef="C_f8b904a2-e65c-4aa8-9edb-2cc959ab35fa" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">38</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b3918c42-59b4-4989-9597-e49b57028167" contextRef="C_66217ff4-3ef7-4c48-b2dd-977a50db3643" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">10</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#x2019;s total revenues, respectively. For the three months ended March 31, 2021, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9dcbc112-7022-493c-95dd-bfb2f68aee48" contextRef="C_4ac35662-3179-48c0-9516-cadedb959104" name="ssti:NumberOfCustomers" unitRef="U_Customer" decimals="INF" format="ixt-sec:numwordsen">two</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3a84d6b7-42eb-4874-b280-0685f4794723" contextRef="C_0f5bdb17-b55f-4907-a446-82cf51ddc777" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">34</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ea3d4b7d-65f6-462f-8c0b-d9081a2b1d20" contextRef="C_64cca3a9-1715-4247-a260-e28ac48884b7" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">13</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#x2019;s total revenues, respectively.</span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Suppliers</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2013;</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company&#x2019;s proprietary sensors.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">  </span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8d8ce542-75f9-4d2a-8807-9b0ddc467a6f" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:RevenueFromContractWithCustomerTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 3. Revenue Related Disclosures</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_dfd4e829-f31b-48aa-841e-a4ab8405bf98" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The changes in deferred revenue were as follows (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.951%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.867%;"></td>
        <td style="width:0.901%;"></td>
        <td style="width:1.822%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.867%;"></td>
        <td style="width:0.901%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_df9cbe23-54f0-4813-b504-7e86aa8782f7" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">26,709</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_daecdd37-c249-4968-9f9a-97e31511d627" contextRef="C_3736fb25-2053-4120-9851-540beeb0c02f" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">24,578</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Deferred revenues acquired (Note 4 - Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1cf1e7f7-ab2f-4829-94c6-2649c8364b03" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">5,382</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;New billings</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1f142b4f-3307-4bb1-b6f5-f86cd7bb6d6f" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">24,527</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_bee4db56-5503-4ab8-9cc7-2869cfcf2f3e" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">15,432</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Revenue recognized during the year from beginning balance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_58017fb3-57f8-44b9-aa66-c3bbc0e70c9c" contextRef="C_399a9fce-9b5a-4b9b-a866-37d578b694d8" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">9,825</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d7b19b63-4c47-4aac-9a52-2a407daa33fa" contextRef="C_476a140b-0af2-4534-a473-04d9443a51ab" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">10,103</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Revenue recognized during the year from new billings</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1cdb0d1a-66b7-47dc-a12f-70c57898aced" contextRef="C_ee8d10ba-4d44-47de-a529-6183934059b2" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">11,292</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_90092928-f822-4420-b0c9-521b27c6728d" contextRef="C_cfbc7e87-55a1-4604-86d3-03aed1e4ab9c" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">4,898</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Foreign currency impact</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ea742108-e199-4aec-9915-0babe7bc34c7" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="ssti:ContractWithCustomerLiabilityForeignCurrencyImpact" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_fbc63fd7-f69f-426c-bb6f-1fdc3f51c594" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="ssti:ContractWithCustomerLiabilityForeignCurrencyImpact" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">1</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cb299d96-a7f1-46f6-b6d0-75f1b7a7cc64" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">35,509</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a0eaf246-4004-437a-a645-a0603dc1f849" contextRef="C_b2e06c7d-9265-40ca-aa39-9c11a2b3a5ae" name="us-gaap:ContractWithCustomerLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">25,008</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x200b;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x200b;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x200b;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x200b;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:11.0pt;font-family:Calibri;"><ix:nonNumeric id="F_a4b5e2da-7190-428a-baee-c5960f52de9f" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.582%;"></td>
        <td style="width:16.639%;"></td>
        <td style="width:1.716%;"></td>
        <td style="width:1.344%;"></td>
        <td style="width:15.037%;"></td>
        <td style="width:0.682%;"></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_ca45c7cb-2415-41ef-9a5e-24d3940aba6b;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></span></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9101c58d-f169-4bec-8bd1-5b234bf688dd" contextRef="C_edcef4b9-11d8-4db7-831d-3574c5603b9c" name="us-gaap:RevenueRemainingPerformanceObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">40,844</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_31c5cee5-7133-4e5e-99f4-3fd183c09aa4;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2023</span></span></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7646423e-ef25-4526-b1ee-f7f8bfea3712" contextRef="C_6bbccba0-c383-4d9d-8d75-e5ba25f4162d" name="us-gaap:RevenueRemainingPerformanceObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">34,805</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_2090c233-5365-4527-bf22-621b0a71f29f;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2024</span></span></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dccc5103-c1f7-49fa-84ce-65fedf7015c9" contextRef="C_cc5aeaf0-fdaa-492d-b857-72097dc114c2" name="us-gaap:RevenueRemainingPerformanceObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">23,213</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_c71bd0db-78cc-4b95-8339-567b07db49ef;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Thereafter</span></span></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_052c3947-112b-4a44-935a-6c39fa2b57a6" contextRef="C_5d18c9ad-a55b-4d85-8eff-1b93264d0a44" name="us-gaap:RevenueRemainingPerformanceObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">12,954</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_69aaede2-ded6-45bb-b342-f81ac141d9af" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:RevenueRemainingPerformanceObligation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">111,816</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8</span></p>
       <hr style="page-break-after:always;" /><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:exclude></ix:nonNumeric></div><p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The timing of certain revenue recognition included in the table above is based on estimates of go-live dates for contracts not yet live. Contractually committed revenue includes deferred revenue as of March 31, 2022 and amounts under contract that will be invoiced after March 31, 2022.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022, the Company recognized revenues of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9cda82e2-a3ac-4827-b754-bd44b3d0be32" contextRef="C_76a6cfd6-9238-4e67-ab3e-3da3d51f3e5e" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">20.8</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the United States, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9e81c0d9-e8ac-4e27-8aad-9d781e50512e" contextRef="C_d9e37333-8edd-4ffd-a810-53ef6453a4d6" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal"><ix:nonFraction id="F_9e0a4564-8858-45f2-99ba-b05807f6bb29" contextRef="C_358f5a66-3fc8-4998-bf7d-bc75da891e76" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">0.4</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the Bahamas and South Africa. During the three months ended March 31, 2021, the Company recognized revenues of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dad16a8d-d35b-42cf-9e1b-dac15d8a8985" contextRef="C_03365dc6-f39e-4d2b-ab67-51bf05e56670" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">14.8</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the United States, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_32225b93-7f10-48cc-813e-4b371743e88b" contextRef="C_149c4457-3c21-42c3-8c10-21f15d44c8c0" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal"><ix:nonFraction id="F_113022bb-4092-4bea-b6c5-8b5861dafd07" contextRef="C_077a6235-4e0b-4ed9-85dc-78669c9bb0dd" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">0.2</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the Bahamas and South Africa.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022, the Company recognized revenues of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0766dcd7-12b3-4f31-9b7d-0487ae25c2ca" contextRef="C_8c8e20e8-ebcc-4c8c-ad27-48304a267e32" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">19.0</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from monthly subscription, maintenance and support services, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e17c2125-a2bb-4b6b-aa10-6eae8b55ed83" contextRef="C_2f649efb-908a-4a42-b7cf-3ffa2276f3d0" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">2.2</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from professional software development services. During the three months ended March 31, 2021, the Company recognized revenues of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_42e684a4-a2f4-4fa2-beac-2163b2b8fa07" contextRef="C_54df0e89-4c2b-4985-b730-504d08334fe9" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">13.3</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from monthly subscription, maintenance and support services, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9f4d286f-b83b-4fc6-8acd-25b5c406df4f" contextRef="C_e5f850f0-595c-499b-bb12-deeb538a3ff0" name="us-gaap:Revenues" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">1.7</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from professional software development services.</span></p></ix:nonNumeric></div>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_d94ba1ec-7c09-4d85-89d0-15dc3f23f6a5" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:BusinessCombinationDisclosureTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 4. Business Acquisitions</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.1020833333333333;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In October 2021, the Financial Accounting Standards Board issued Accounting Standards Update (&#34;ASU&#34;) 2021-08, </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts from Customers</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">. ASU 2021-08 aimed to improve the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability and the effect of payment terms on subsequent revenue recognized by the acquirer. These amendments were effective prospectively for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The Company </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_a9d1e668-2565-4959-a23c-10688eb85543" contextRef="C_7a9733c5-ba7d-4002-b38b-e543d0379d83" name="us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted" format="ixt:booleantrue"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">adopted</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> this ASU on </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_30a03060-811c-4295-a969-2d7b6c2ca8ff" contextRef="C_7a9733c5-ba7d-4002-b38b-e543d0379d83" name="us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate" format="ixt:datemonthdayyearen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2022</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7af084fb-ef3f-48dc-af64-61f01cd850e2" contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5" name="us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1" format="ixt:datemonthdayyearen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 3, 2022</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, the Company completed the acquisition of </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cea741df-90c2-4028-9076-5d96c562aeeb" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">100</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the membership interests in Forensic Logic, LLC (&#x201c;Forensic Logic&#x201d;) for purchase consideration of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a9a89083-5a7f-41c9-bec1-3994bd4a297d" contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5" name="us-gaap:PaymentsToAcquireBusinessesGross" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">4.9</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, subject to working capital adjustments, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_84860714-fbad-486f-9318-cf89e4733fc1" contextRef="C_1d6a8c8e-13ec-4c41-9389-f38bc4acb183" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">14.3</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_020d81f7-2ddc-4aab-a7fb-f26fcaf48950" contextRef="C_1d6a8c8e-13ec-4c41-9389-f38bc4acb183" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">464,540</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares of ShotSpotter common stock based on the closing price on the date of acquisition. The purchase consideration also included a contingent earnout agreement. Up to $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ea3d98b8-854c-4741-8917-ba3fca826b1a" contextRef="C_6217c0e0-7e19-4bbc-803e-31a3e275ca67" name="us-gaap:BusinessCombinationContingentConsiderationLiability" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">9.5</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in contingent earnout will be payable based on Forensic Logic&#x2019;s revenues generated during 2022. An additional amount up to $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_75e12741-8b08-4918-849b-f1db7ff01ef5" contextRef="C_3cd7e47c-cac6-4d3e-8852-da6320e19ffa" name="us-gaap:BusinessCombinationContingentConsiderationLiability" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">10.5</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million contingent earnout will be payable based on Forensic Logic&#x2019;s revenues during 2023. The amounts are payable within approximately </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_80c16e36-56e8-4aad-89c0-c60fba5682d7" contextRef="C_c2962ad9-bb09-46ac-af50-a0d496670a23" name="ssti:NumberOfDaysAmountsToBeDeterminedAndPaid" format="ixt-sec:durwordsen"><ix:nonNumeric id="F_8e8762db-ed97-4f16-a636-df890b72785a" contextRef="C_d70c71a4-0537-4865-98fe-5153e978481c" name="ssti:NumberOfDaysAmountsToBeDeterminedAndPaid" format="ixt-sec:durwordsen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">120 days</span></ix:nonNumeric></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> after the end of 2022 and 2023, respectively. The estimated fair value of the contingent earnout on the date of acquisition is $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0fa36746-3aa8-4ee3-b662-a75569c36d21" contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">12.4</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million, resulting in a total estimated purchase consideration of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7d3b0842-dba1-45f7-b0ab-31ae5da21ba8" contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5" name="us-gaap:BusinessCombinationConsiderationTransferred1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">31.6</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million. The acquisition will enable the Company to broaden its suite of precision policing solutions and cloud-based investigative platforms to offer its customers.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_5115b736-99fd-452d-8b77-500eae194e44" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the allocation of the purchase price as of the acquisition date, January 3, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.661%;"></td>
        <td style="width:16.744%;"></td>
        <td style="width:1.378%;"></td>
        <td style="width:1.337%;"></td>
        <td style="width:14.985%;"></td>
        <td style="width:0.895%;"></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_244bba04-701b-44df-967f-e470888f55cc" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">303</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable and contract asset, net</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b0222b31-108c-4fae-9057-4199df25b874" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">220</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_00394843-441a-42f9-ae3c-90df79de7474" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">200</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease right-of-use asset</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1ff31709-c8f2-47ba-b784-44f8bad14a75" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,893</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Software technology</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a3044298-6013-4f0e-aed4-7dd0874f3878" contextRef="C_40f0b965-a1b9-41ab-bbe4-627b4ffa0d80" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">7,140</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Tradename</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dfcc9d5e-184f-4877-b0d4-03e071de53e2" contextRef="C_d277ccbe-b6bb-49dd-8d5d-68359cfecf1e" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,000</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d8219ff9-a767-4319-a89c-a8238cca5cbf" contextRef="C_e5483310-f248-488b-8ac8-1fdb90040588" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">8,200</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Goodwill</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2699293e-6e9b-4415-8558-aae5d6b6b3d8" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">20,355</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other asset</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_453c58e6-a491-4d82-b6a9-f68706d6d9d3" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">186</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_94d8360e-c5e1-4a18-babc-216b0eb71771" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">635</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liabilities</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f7e4c4cd-1bfb-453e-90cf-145112ac818c" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,893</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dac841bc-45aa-4388-bbf9-db91bd69fa39" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">5,382</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total estimated consideration</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f2b27db3-7746-4abc-838b-4f69dbcf9440" contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">31,587</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">purchase price allocation above is final except for measure period adjustments which may be required in the future following purchase price adjustments related to working capital true-up. Goodwill primarily represents the value of cash flows from future customers and the employee workforce. The Company expects to deduct the amortization of goodwill and intangible assets for tax purposes. A portion of the amortization deduction will commence upon settlement of contingent consideration and contingent liabilities. The Company valued the intangible assets using income-based</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">9</span></p>
     <hr style="page-break-after:always;" /><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:exclude><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">approaches. </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Significant assumptions included forecasts of revenues, cost of revenues, research and development expense, sales and marketing expense, general and administrative expense, technology lives, royalty rates, working capital rates, customer attrition rates and other estimates. The Company discounted the cash flows at </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d2768c8e-e907-4584-8f53-53e855532ee4" contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5" name="ssti:PercentageOfDiscountedCashFlows" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">24</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%, reflecting the risk profile of the assets.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Acquisition-related expenses totaled $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_09d8f9f1-f744-4938-b78b-56cbc296fc11" contextRef="C_c46c6dde-8f86-468c-993e-71b83287e176" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">0.6</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million, of which $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_67d2a44e-4b92-4651-9306-d6b05c094409" contextRef="C_f43ac29b-0157-4c8f-abf1-4a98643e6871" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">0.1</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million is included in general and administrative expense for the quarter ended March 31, 2022 and the remainder was incurred during the year ended December 31, 2021.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The unaudited pro forma combined revenue and net income presented below have been prepared as if the Company had acquired Forensic Logic on January 1, 2021. The unaudited pro forma financial information has been derived from the consolidated statements of operations of the Company and Forensic Logic for the below period. The historical financial information has been adjusted in the unaudited combined pro forma information based upon currently available information and certain estimates and assumptions. The actual effect of the transactions ultimately may differ from the pro forma adjustments included herein. However, management believes that the assumptions used to prepare the pro forma adjustments provide a reasonable basis for presenting the significant effects of the transactions as currently contemplated and that the pro forma adjustments are factually supportable, give appropriate effect to the expected impact of events that are directly attributable to the transactions, and reflect those items expected to have a continuing impact on the Company. The unaudited pro forma financial information as presented below is for informational purposes only and is not necessarily indicative of the results of operations that would have been achieved if the acquisition had taken place on January 1, 2021.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The unaudited pro forma combined revenue and net loss for the three months ended March 31, 2021 would have been $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e7d77943-fd48-4234-8bcd-c92f33919b0e" contextRef="C_1615a381-fed6-4cf6-a350-2d523a459781" name="us-gaap:BusinessAcquisitionsProFormaRevenue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">16.4</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7219013a-c5fe-4866-8b82-c975ec99c050" contextRef="C_1615a381-fed6-4cf6-a350-2d523a459781" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" unitRef="U_USD" scale="6" decimals="-5" sign="-" format="ixt:numdotdecimal">1.1</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p></ix:nonNumeric></div>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_36f9de83-f2e7-406a-bf5b-99aa122c0984" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:FairValueDisclosuresTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 5. Fair Value Measurements</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In October 2018, upon the acquisition of certain technology, referred to as HunchLab, from Azavea, Inc., the Company recognized a contingent consideration liability classified within Level III of the fair value hierarchy because some of the inputs used in its measurement were neither directly nor indirectly observable. In February 2021, based on the relevant revenues earned during the three-year contingent consideration period, the Company paid $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_fdb447dc-5eea-4efe-9594-b5e4c6377a59" contextRef="C_cd8f3b7c-14c8-48d6-8360-5aa042790864" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">0.4</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million, resulting in a reduction of the contingent consideration liability.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In November 2020, using a Monte Carlo Simulation approach, the Company estimated the fair value of the contingent consideration at the acquisition date of LEEDS to be $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_afc2c73a-7d37-40d5-aff5-ffab3bc041eb" contextRef="C_c789ba45-efd8-4399-90d0-0de6aa317bf3" name="us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">0.2</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million. During the fourth quarter of fiscal 2021, the fair value of the contingent consideration was increased by $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_342a8230-a170-4d03-b137-6d28edd2ef28" contextRef="C_66f1f79c-069c-4241-a8ce-06d0dc2a668d" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">1.3</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million based upon estimated 2022 revenue targets, representing an adjustment to the most likely outcome expected for the liability. There have been no changes in the assumptions or fair value of the LEEDS contingent consideration liability during the three months ended March 31, 2022.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In January 2022, using a Monte Carlo Simulation approach, the Company estimated the fair value of the contingent consideration liability classified within Level III of the fair value hierarchy at the acquisition of Forensic Logic to be $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1aeaa42e-e309-4030-8aa1-a38ba4db1034" contextRef="C_3c20928b-b904-49e2-8a33-627a5c16b136" name="us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">12.4</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:11.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_e117330d-001c-4e53-bba4-7687393187d3" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The changes in the fair value of contingent consideration liability for the three months ended March 31, 2022 and 2021 are as follows (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.295%;"></td>
        <td style="width:1.781%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.651%;"></td>
        <td style="width:0.694%;"></td>
        <td style="width:1.356%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.63%;"></td>
        <td style="width:0.901%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_81da15ef-c54b-493e-9acc-f52e303d43a6" contextRef="C_2a55f55a-95cc-4ecf-b15c-8ec2f9628b82" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,500</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_406b278f-d2ed-4f60-90f7-8781997a304d" contextRef="C_dfe2869f-b199-469c-b88f-8095a50d1f4a" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">573</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Payment of contingent consideration liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d7158e35-19d7-4124-9fbc-16118b99d195" contextRef="C_93ee2038-4717-4e84-a909-6fffeee26794" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:numdotdecimal">403</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Change in fair value of contingent consideration</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration - Forensic Logic ( Note 4 - Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_bc19d520-9cde-4cb2-8d00-1a61d9324f24" contextRef="C_ef9a282b-22fb-454e-a4c0-9d25c4b5a326" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">12,400</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d12daf83-75c0-4c12-ac72-b09d228822dd" contextRef="C_04c5118b-cd7e-4104-91be-ab3136b0c3b9" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">13,900</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c6cd2d52-ff67-42c3-9c7f-2694e5b8c2f9" contextRef="C_4816fe98-96a7-4419-94c9-dbe96265db7b" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">170</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">There were </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_17095544-c503-44a1-b991-45abde3f23aa" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet" unitRef="U_USD" decimals="INF" format="ixt-sec:numwordsen"><ix:nonFraction id="F_d184c7af-4f96-4621-8b4e-e15eb6138e43" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet" unitRef="U_USD" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> transfers into or out of Level III during the three months ended March 31, 2022 and 2021. As of March 31, 2022, contingent consideration of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_964c30be-01af-4059-8a5c-b3a16bb4424b" contextRef="C_8fa6aee4-ad12-4340-a0b5-3459974229a6" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">6.7</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million is included in Accrued expenses and other current liabilities in the condensed consolidated balance sheet as it is forecasted that the achievement of milestones will occur within the next 12 months, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e71c4310-b029-4e31-b9f6-20cb974df7db" contextRef="C_9f6170cf-8101-4119-a25e-ad90823fc7e3" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">7.2</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million is included in Other liabilities in the condensed consolidated balance sheet.</span></p></ix:nonNumeric></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_b7b70981-f5fb-42d7-803b-6bf55ea7f2c2" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:GoodwillDisclosureTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 6. Goodwill</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:11.0pt;font-family:Calibri;"><ix:nonNumeric id="F_6a7d1e8d-0b06-4e2f-851e-2369bf5ea80b" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfGoodwillTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The change in goodwill is as follows (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.343%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.12%;"></td>
        <td style="width:0.673%;"></td>
        <td style="width:1.367%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.13%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31, 2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b840886e-bb5d-435a-a361-c825d437f1ac" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,816</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_9531e659-d6f9-493a-86ef-360ff2f7682c" contextRef="C_3736fb25-2053-4120-9851-540beeb0c02f" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,811</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Acquisition of Forensic Logic (see Note 4&#x2014;Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_85b35ec2-b231-4c1a-8c59-026122324f18" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:GoodwillAcquiredDuringPeriod" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">20,355</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Change during the period</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f0e6f5af-26bf-40dc-a7a5-6e65d577f588" contextRef="C_9d41fdae-8ce0-4258-86ed-ba1d4b249c28" name="us-gaap:GoodwillPeriodIncreaseDecrease" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">5</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b0e8ef75-5855-4cab-8952-b1ac30f36867" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">23,171</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_17df54a8-d47d-467c-821c-98cfaf964d0c" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,816</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_502c0caf-3bf2-46bb-be25-cd7638257e25" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:IntangibleAssetsDisclosureTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 7. Intangible Assets, net</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:6.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:11.0pt;font-family:Calibri;"><ix:nonNumeric id="F_b47e0364-3bcb-4888-afdc-e496b57095f1" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consist of the following (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.183%;"></td>
        <td style="width:1.336%;"></td>
        <td style="width:14.718%;"></td>
        <td style="width:0.673%;"></td>
        <td style="width:1.761%;"></td>
        <td style="width:1.336%;"></td>
        <td style="width:14.604%;"></td>
        <td style="width:0.901%;"></td>
        <td style="width:1.761%;"></td>
        <td style="width:1.336%;"></td>
        <td style="width:14.718%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31, 2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Gross</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated Amortization</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_26eb4c2b-9d04-4195-a670-9ac17e32d6da" contextRef="C_bd33dd17-4c96-424f-8a0d-10610dc36e5c" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">22,770</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6a9c3a8f-0147-468b-9ee7-10dc2c135f8e" contextRef="C_bd33dd17-4c96-424f-8a0d-10610dc36e5c" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,535</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d86cae55-83db-4ba0-8f41-6b8a2fadac59" contextRef="C_bd33dd17-4c96-424f-8a0d-10610dc36e5c" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">21,235</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Patents</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ff7be03c-a06c-4361-822e-e268a2510c60" contextRef="C_0950aff4-a31a-4f4a-996a-484c2537d5e8" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,226</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ebce2ec5-204e-493c-b98a-2b0dc2cf6198" contextRef="C_0950aff4-a31a-4f4a-996a-484c2537d5e8" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,099</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f47275fd-35c3-4e67-aa71-0ed4dc8a1193" contextRef="C_0950aff4-a31a-4f4a-996a-484c2537d5e8" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">127</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Software technology</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4d568994-fa9c-41c2-a165-fd9ee422e572" contextRef="C_737be91a-9fa1-4ccc-87dc-a2a3441f61ab" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">7,140</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d193dbe0-bf98-4eaf-86bc-97d693c076b0" contextRef="C_737be91a-9fa1-4ccc-87dc-a2a3441f61ab" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">254</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_da019b6a-4cbc-430b-829e-865682725c1b" contextRef="C_737be91a-9fa1-4ccc-87dc-a2a3441f61ab" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">6,886</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Tradename</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b6d442e4-72ab-4754-aea9-e824435852dd" contextRef="C_a7992727-8d0e-4bd3-9899-71602c3da89e" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,000</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d4c682a6-2072-4871-bd85-dd2f2d554e64" contextRef="C_a7992727-8d0e-4bd3-9899-71602c3da89e" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">28</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a2028da4-8184-43cb-b3b1-55921049aaef" contextRef="C_a7992727-8d0e-4bd3-9899-71602c3da89e" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">972</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;&#160;Total intangible assets, net</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2bc384af-b9b4-4375-bba5-6d176605f834" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">32,136</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1723a207-3028-40be-91a3-5b003bd3cc51" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,916</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4060932b-5ad3-460b-a76f-ec9b58e1d507" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">29,220</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.671%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.673%;"></td>
        <td style="width:0.683%;"></td>
        <td style="width:1.584%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.508%;"></td>
        <td style="width:0.901%;"></td>
        <td style="width:1.584%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.673%;"></td>
        <td style="width:0.683%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Gross</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated Amortization</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_bebfdc54-5834-40b0-acd2-c5765557308d" contextRef="C_127f5b61-06fe-49da-8738-f92c47b244cb" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">14,570</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cb459537-6ef7-4649-ab81-97a9c04af8e1" contextRef="C_127f5b61-06fe-49da-8738-f92c47b244cb" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,131</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b51c2f08-7224-45e6-8f88-8e371d01aa92" contextRef="C_127f5b61-06fe-49da-8738-f92c47b244cb" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">13,439</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Patents</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0925f07d-795f-4969-8bf9-ffe346505e28" contextRef="C_a81a5501-43da-4ec1-aaa5-0bceda87f0e6" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,214</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_92f47be5-5050-4a91-a8ae-edaacaeb6b31" contextRef="C_a81a5501-43da-4ec1-aaa5-0bceda87f0e6" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,089</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_542f4cfe-b2bb-46fe-818d-b417664a7f6c" contextRef="C_a81a5501-43da-4ec1-aaa5-0bceda87f0e6" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">125</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;&#160;Total intangible assets, net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4a2ce5b8-cbc8-4a95-a846-c7700c8e3b95" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">15,784</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_40b5a938-ceb9-40c8-a21d-944ffe38d00e" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,220</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_727d46be-e509-4824-a01e-100941838574" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">13,564</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Intangible amortization expense was approximately $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_59d52496-12c9-4896-ba4f-853efbde5c5e" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" decimals="0" format="ixt:numdotdecimal">695,000</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1647239e-e182-48fa-b98a-4e072ca77f39" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" decimals="0" format="ixt:numdotdecimal">259,000</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> for the three months ended March 31, 2022 and 2021, respectively.</span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c1666137-c07f-4eca-8c19-4794d739d471" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table presents future intangible asset amortization as of March 31, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:70.639%;"></td>
        <td style="width:10.631%;"></td>
        <td style="width:1.338%;"></td>
        <td style="width:16.713%;"></td>
        <td style="width:0.679%;"></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Remainder of 2022</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cb22a864-7039-4f0f-971b-1ed9b02d571d" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,106</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_466a1172-db85-4938-bee3-b6902c07ac85" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,640</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2024</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6157a714-506e-47f7-86c4-019b17123072" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,637</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2025</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8ecf9b6c-c076-46c4-8e90-60980453df1c" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,595</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2026</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ad9824bb-46b8-40ab-bd92-6b348c5fe509" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,577</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Thereafter</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_5281d0cb-5559-4c9e-b759-8d0525375300" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="ssti:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">16,665</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_07f01f1c-5c8c-4150-9814-8779c6575c74" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">29,220</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_dc0fa5c0-860c-4cd3-8c8b-7739d8cad29b" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 8. Details of Certain Condensed Consolidated Balance Sheet Accounts</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:11.0pt;font-family:Calibri;"><ix:nonNumeric id="F_393e6697-09b7-4841-8b29-a6d918ab3b06" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable and contract assets (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.974%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.86%;"></td>
        <td style="width:0.901%;"></td>
        <td style="width:1.802%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:14.87%;"></td>
        <td style="width:0.901%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0713143d-97d2-445e-b610-cd5bd8805301" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">20,271</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_55767c39-6a8d-4927-b691-0fa8fad06301" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">16,167</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contract asset</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a87cb37b-79c2-43d3-9047-0f2bee773043" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:ContractWithCustomerAssetNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,135</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_fc7a70cc-4c2b-48a5-a799-5fb43fc6c5fa" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:ContractWithCustomerAssetNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">41</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Allowance for potential credit losses</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dd0a9247-9e79-44e5-9397-e15da4d3527a" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="ssti:FinancingReceivableAllowanceForCreditLossesAdjustment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">150</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_32280234-0ef4-4622-8baa-43da2fed0bc3" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="ssti:FinancingReceivableAllowanceForCreditLossesAdjustment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">74</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_82743f23-d7c6-4815-999c-9eedd6a8539e" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="ssti:AccountsReceivableAndContractAssetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">21,256</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e334a1c3-2a92-48e9-a9c6-e48ebbec610c" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="ssti:AccountsReceivableAndContractAssetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">16,134</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_05b91d80-07a6-4a82-8b4c-4a4d6f3ba4d0" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:64.085%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.027%;"></td>
        <td style="width:0.673%;"></td>
        <td style="width:1.802%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.048%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid software and licenses</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4dc87b2b-1e9d-4081-b549-f8184f30f264" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="ssti:PrepaidSoftwareAndLicensesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">742</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0fd2f300-c01b-424f-8e16-efe288f5dffd" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="ssti:PrepaidSoftwareAndLicensesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">756</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_87a2c395-99ea-475f-957d-0de910a04676" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:PrepaidInsurance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">245</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2b7c3ae4-0113-4dcd-80bd-8f99abc2236e" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:PrepaidInsurance" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">611</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other prepaid expenses</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_0348b54e-0056-4a4e-93ba-9444ef7aefaa" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OtherPrepaidExpenseCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">472</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cb1bb5ba-0c51-4aef-9be3-e822992052da" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OtherPrepaidExpenseCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">198</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred commissions</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f9f2de6a-b643-415a-8cd7-02ed6ea65354" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:DeferredCostsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">895</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_994b3fdb-0873-4bae-aa0c-0a59ea560dd0" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:DeferredCostsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">822</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8a5ba18e-eaa0-4c6d-9d35-82d7e2aed6a2" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">102</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3f020e4c-da33-463a-90d1-277478e7458f" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">117</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a2a72cee-fd16-49d4-9c89-d0393ef0d37a" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,456</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1598c8e1-dbf6-49fe-ac8c-aa1d6fbddfb7" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,504</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_35e101b3-9601-4044-b98c-38527cef0651" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other assets (long-term) (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.085%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.027%;"></td>
        <td style="width:0.673%;"></td>
        <td style="width:1.802%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.048%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred commissions</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_215a5b97-7c10-449c-b2b9-601d8d14dc92" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:DeferredCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,011</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_01d3e073-31ca-420d-a68f-9d4451b4946d" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:DeferredCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,723</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f7931802-8e6d-458f-9cc1-0f424c77f80f" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OtherAssetsMiscellaneousNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">570</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a0ffc566-b4ea-4c41-9919-bfe6d4ce6d99" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OtherAssetsMiscellaneousNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">195</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d38f8320-25e1-49d1-9810-4128802648b0" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,581</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b997f3c6-3641-418e-acb1-ee8135a3903b" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,918</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_0b228de2-daad-4c65-919e-fa8ce95f9065" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:64.078%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.036%;"></td>
        <td style="width:0.673%;"></td>
        <td style="width:1.802%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.046%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Personnel-related accruals</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2df8b311-1920-4d89-874d-2d65e0b442de" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AccruedEmployeeBenefitsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">4,017</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_db3932a6-a8b2-4903-b234-4c238d041f7e" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AccruedEmployeeBenefitsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">4,864</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Royalties payable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_526898e1-cbe7-47b2-b885-498082f91170" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AccruedRoyaltiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">49</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2833ceec-4d15-437f-ac3d-bf8e2f6ecab1" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AccruedRoyaltiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">47</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Professional fees</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4112b008-bfd9-477b-aaad-12e6c91868a6" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AccruedProfessionalFeesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">692</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cbcbe521-10e1-47d3-93ea-ebfe91ddb27e" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AccruedProfessionalFeesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">925</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales/ use tax payable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d5fd8980-d627-45b7-a060-fdfdb57e41c8" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:SalesAndExciseTaxPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">218</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_df7804eb-1ea3-4bad-ba45-faafde706403" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:SalesAndExciseTaxPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">167</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2b3a8a8e-0f76-4757-a7e3-da440c145fbb" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">6,650</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2500;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b1840fac-7604-4900-bc69-6695d004a18d" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">861</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6272fcd3-1af5-47a9-96cb-0e1b7fbb29b4" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">409</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_90583f1a-bbc3-4752-8785-5e37cfa848c6" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OtherLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">465</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_06ba8368-70b8-44c1-89b1-3c243213da64" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OtherLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">268</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_45d6bace-1b5a-4b4c-ad4f-71216357b8f7" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">12,952</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_83ecaee8-6e3a-45f5-a401-bc40bb84300a" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">6,680</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:11.0pt;font-family:Calibri;"><ix:nonNumeric id="F_82f0ff31-c65b-42a6-9a94-7b7cf524964c" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:OtherNoncurrentLiabilitiesTableTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other liabilities (long-term) (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.078%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.036%;"></td>
        <td style="width:0.673%;"></td>
        <td style="width:1.802%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:15.046%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liabilities</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dd482170-6a65-456f-831a-5b93800880f8" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">3,269</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6f559580-4145-404d-abec-2aeadb802e3e" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">2,013</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c80c9cc0-986e-4211-8d6f-f77c6646a6a0" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">7,250</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_cb655d6f-ab5a-43a0-82e7-81681a7b774d" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,500</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_39247eb3-ea0b-4658-a38f-7dcb124f0e77" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">10,519</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a67d734c-a76f-46f0-bc03-0ed36827d685" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:OtherLiabilitiesNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">3,513</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_82845fca-b792-43ff-b56a-1b814f399ef9" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 9. Related Party Transactions</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022 and 2021, the Company recognized approximately $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8c76329e-ecf6-480c-8a6c-30943e1fcd4c" contextRef="C_55a2ca40-271c-469b-92d0-fdfd856d242a" name="us-gaap:RevenueFromRelatedParties" unitRef="U_USD" decimals="0" format="ixt:numdotdecimal">16,000</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4e76b191-5d82-411d-9f3d-dd2f556aa343" contextRef="C_79dbbab6-1725-48d2-a742-544b47083246" name="us-gaap:RevenueFromRelatedParties" unitRef="U_USD" decimals="0" format="ixt:numdotdecimal">36,000</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, respectively, in revenues from ShotSpotter Labs projects with charitable organizations that have received donations from one of the Company&#x2019;s directors and from one of the Company&#x2019;s significant stockholders.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></ix:nonNumeric></div>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_8a34edcc-0dd0-4f8a-a08a-ffc73bdbbe49" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 10. Stock Repurchase Program</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022, the Company repurchased </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_32e6dfaf-2c9b-498f-bf4a-2449a831c613" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:StockRepurchasedDuringPeriodShares" unitRef="U_shares" scale="3" decimals="-3" format="ixt:numdotdecimal">57,623</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares of its common stock at an average price of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_805f8388-91ae-402a-b276-cbff60e5e487" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">28.34</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> per share for $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ce24168b-3761-4151-a957-1553a6854fba" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:StockRepurchasedDuringPeriodValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">1.6</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million. The repurchases were made in open market transactions using cash on hand, and all of the shares repurchased were retired. At March 31, 2022, $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_fa038081-6e06-4510-9109-4e5c20468de4" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" unitRef="U_USD" scale="6" decimals="-5" format="ixt:numdotdecimal">1.4</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million remained available for repurchase under the Company's stock repurchase program.</span></p></ix:nonNumeric></div>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_233a1bc3-61c4-4513-9c44-4252fd174756" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:EarningsPerShareTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 11. Net Income per Share</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The computation of basic net income per share is based on the weighted-average number of shares of common stock outstanding during each period. The computation of diluted net income per share is based on the weighted-average number of shares outstanding during the period plus, when their effect is dilutive, incremental shares consisting of shares subject to stock options, restricted stock units, employee stock purchase plan purchase rights and warrants.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_12c75e6e-8a2a-47f8-a4aa-80c9300154a6" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the computation of basic and diluted net income per share (in thousands, except share and per share data):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:56.814%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:18.486%;"></td>
        <td style="width:0.673%;"></td>
        <td style="width:2.175%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:18.486%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><br /></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Numerator:</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f25c0e66-7cc6-445c-bc9e-b6c6208b8c8e" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">387</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_3bc2978f-cac3-4d6f-9ed4-a57354202bef" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">79</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Denominator:</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted-average shares outstanding, basic</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_ba854ac7-19ce-4778-9e28-0e867e5b84a3" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:numdotdecimal">12,156,968</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c2538ba3-9337-472b-ad84-1b64e4cf5300" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" decimals="0" format="ixt:numdotdecimal">11,584,605</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted-average shares outstanding, diluted</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2d822bcd-8327-4b42-9532-30e27fc66f2a" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:numdotdecimal">12,315,806</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_773f1782-b67c-496d-b7ea-7f0e809299d8" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" decimals="0" format="ixt:numdotdecimal">11,898,362</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income per share, basic</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7e75867e-d5e3-44e3-a8eb-cae78bd513f9" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">0.03</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_29d0675d-8632-4ba1-8a03-19b4d1913b84" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">0.01</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income per share, diluted</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e4363343-18c3-4c0d-b356-2b23ac77e891" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">0.03</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8d41dfc3-6bb1-4740-b4f8-b1a129b167bd" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">0.01</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Anti-dilutive employee share-based awards, excluded</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6b71c0f5-ea4d-4723-99e1-2ee8927e3101" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="ssti:AntidilutiveEmployeeShareBasedAwardsExcluded" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">952,776</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6784a745-dc33-4ca9-afb2-1e4885919aa9" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="ssti:AntidilutiveEmployeeShareBasedAwardsExcluded" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">544,815</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_c37dd695-d021-4f64-818c-46fd642f91d2" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" escape="true"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 12. Equity Incentive Plans</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock options:</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_7e1a2fdf-ee11-4dea-9f0b-ea6ec5e302e0" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the &#34;2005 Plan&#34;) and 2017 Equity Incentive Plan (the &#x201c;2017 Plan&#34;) during the three months ended March 31, </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2022 is as follows:</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.363%;"></td>
        <td style="width:1.605%;"></td>
        <td style="width:0.684%;"></td>
        <td style="width:13.598%;"></td>
        <td style="width:0.901%;"></td>
        <td style="width:1.605%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:13.225%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Number<br />of Options<br />Outstanding</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted<br />Average<br />Exercise<br />Price</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Outstanding as of December 31, 2021</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c68232c2-f331-48f7-9d31-8c9c21dc67cf" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">783,928</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1b15690e-6373-4cc0-8064-68263beef0cc" contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">28.00</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Granted</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4f43dc90-0bc4-43e1-b8f8-3aacefe24942" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">454,678</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1a0137ca-9455-42eb-a2cc-73f59b997384" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">26.50</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exercised</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d073f4e0-798e-49d0-a1d0-8e979d6241cf" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">8,528</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_1f9cea3c-cf83-48f8-b62f-9f8ba98b0ee9" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">1.43</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Canceled</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a6b0f5d4-366f-40c0-b779-d5ec5d5bcf65" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">11,699</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b32999f5-c1fe-4187-a1fb-fd4033aebd21" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">38.20</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Outstanding as of March 31, 2022</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_909ff52e-1f4a-4bfa-931d-6a01ed76a4ff" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">1,218,379</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_4878e4d8-1de2-438f-be62-a914a81a815d" contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">27.51</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Under an &#x201c;evergreen&#x201d; provision, the number of shares of common stock reserved for issuance under the 2017 Plan will automatically increase on </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_dcda6bd3-a5cd-48cb-926e-cd5767c9bd10" contextRef="C_27e05528-22e5-42b8-b647-0c754d88a5b0" name="ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" format="ixt:datemonthdayen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> of each year, beginning on </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_75181740-3f17-42dc-93f3-32d9db0df97c" contextRef="C_27e05528-22e5-42b8-b647-0c754d88a5b0" name="ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" format="ixt:datemonthdayyearen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2018</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> and ending on and including </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_03201351-83a0-4e24-b34a-af6111d5c08d" contextRef="C_27e05528-22e5-42b8-b647-0c754d88a5b0" name="ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" format="ixt:datemonthdayyearen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2027</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, by </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_6bd09aec-d29e-43e7-8d5c-df689674d412" contextRef="C_0998d3a1-39bb-4560-827a-40117a738e3f" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">5</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of shares of the Company's capital stock outstanding on December 31 of the preceding calendar year or a lesser number of shares determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under the 2017 Plan was increased on January 1, 2022 by </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_b737f20b-8419-4c5a-9659-cfce4868c18e" contextRef="C_8b48ae13-5693-4d58-9a46-07973323f56c" name="ssti:IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">585,172</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares, which was equal to </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_dd01324b-0721-40f2-8e1d-8f6364530915" contextRef="C_abc3306c-4c02-4279-9da3-cd8f4fa555da" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">5</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of shares of capital stock outstanding on December 31, 2021.</span></p><ix:exclude><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13</span></p>
     <hr style="page-break-after:always;" /><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:exclude><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Restricted stock units:</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:11.0pt;font-family:Calibri;"><ix:nonNumeric id="F_a2adb427-9ba3-48b7-bfad-202de8210fab" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A summary of restricted stock unit (&#34;RSU&#34;) activities under the 2017 Plan during the three months ended March 31, 2022 is as follows:</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.366%;"></td>
        <td style="width:1.605%;"></td>
        <td style="width:0.683%;"></td>
        <td style="width:13.586%;"></td>
        <td style="width:0.901%;"></td>
        <td style="width:1.605%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:13.234%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Number of Restricted Stock Units</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted<br />Average<br />Grant Date Fair Value per RSU</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Unvested awards outstanding as of December 31, 2021</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_f3586d39-c3dc-4c9c-b6dd-8a3133448fd7" contextRef="C_3a9c8359-2d87-4c19-bc5f-4a30be738182" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">128,810</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_44b20f87-9f64-4fd7-bcbb-55621900ce06" contextRef="C_3a9c8359-2d87-4c19-bc5f-4a30be738182" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">35.09</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Granted</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e3f4bac0-cc87-419a-a930-02b274d1fe68" contextRef="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">154,379</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_8a496e1b-0979-4b17-911e-cbae3e406053" contextRef="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">26.50</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Vested</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e49ef7f9-1b2c-4f16-a52e-8e9df473df37" contextRef="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">22,755</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_03c447f0-29c7-4978-84e6-3c8e25ba73ca" contextRef="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">25.35</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Unvested awards outstanding as of March 31, 2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_a8490fcb-5cf9-4684-99d0-f1307800fbf8" contextRef="C_0ac19f7d-fc71-4065-80b0-042c5353bda5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">260,434</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_7f23acae-5a0d-4e18-aa9d-440f221dd7ff" contextRef="C_0ac19f7d-fc71-4065-80b0-042c5353bda5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:numdotdecimal">30.85</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2017 Employee Stock Purchase Plan</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">There were </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d6f12cb6-b108-46c9-9be8-3efc90857bff" contextRef="C_056707bd-9caa-4250-bb92-381e9b51b4cd" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" unitRef="U_shares" decimals="INF" format="ixt-sec:numwordsen">no</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares issued under the 2017 Employee Stock Purchase Plan (&#34;2017 ESPP') during the three months ended March 31, 2022.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The 2017 ESPP contains an &#x201c;evergreen&#x201d; provision that provides for an automatic annual share increase on </span><span style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_9deedd8a-24a0-4c9b-b4e4-de8d94e3aec6" contextRef="C_47e412c9-2400-45c5-a2a7-1443da1681a7" name="ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" format="ixt:datemonthdayen"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1</span></ix:nonNumeric></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> of each year, in an amount equal to the lesser of (1) </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2d0c8e38-1004-459d-baa4-fc2d6ef96d6c" contextRef="C_056707bd-9caa-4250-bb92-381e9b51b4cd" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" unitRef="U_pure" scale="-2" decimals="2" format="ixt:numdotdecimal">2</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of shares of common stock outstanding on December 31</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;vertical-align:top;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">st</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> of the preceding calendar year, (2) </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e42cdfec-5795-4e40-8c3d-ca7474d05054" contextRef="C_056707bd-9caa-4250-bb92-381e9b51b4cd" name="ssti:PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">150,000</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares or (3) such number of shares as determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under our 2017 ESPP was increased on January 1, 2022 by </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_28333926-eceb-4a1e-b5f9-b00abba30732" contextRef="C_9ae3dad9-456d-487b-a3dd-cb418d8bf44a" name="ssti:IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">150,000</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares. </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The number of shares available for grant under the 2017 ESPP was </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d071963e-c243-4717-8de0-f29ca370b284" contextRef="C_f1ceb39d-4362-4fcc-8360-7eff35fe0c32" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" unitRef="U_shares" decimals="INF" format="ixt:numdotdecimal">549,328</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> as of March 31, 2022.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_42a47ef9-d680-410e-a994-0f07f980e099" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" escape="true"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.166%;"></td>
        <td style="width:1.605%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:13.163%;"></td>
        <td style="width:0.673%;"></td>
        <td style="width:1.605%;"></td>
        <td style="width:1.346%;"></td>
        <td style="width:13.422%;"></td>
        <td style="width:0.673%;"></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenues</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_179d2a31-b44b-42df-8c42-cc1b3dab0162" contextRef="C_250661f3-60d8-4be3-9f7d-82fdc61c7ad3" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">456</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_2c2ae261-5a39-4415-ad01-165b8b464c02" contextRef="C_562ab650-a001-4c1e-b53b-f08dea5824ec" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">392</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales and marketing</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_38a9f832-b1d4-495c-bace-f84c99e923bf" contextRef="C_a106a82b-37a3-4530-91d7-92cfd6be3d58" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">463</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_feb55786-34c2-431d-92ff-65eb2b456050" contextRef="C_0e1c4593-f41e-431c-8699-b1a0fcdb1363" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">371</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_c8e6fa15-44af-4aad-ac6e-61285a06dee1" contextRef="C_ff0ea7a7-6ccb-4259-b8cd-a08b0ba95da5" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">234</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_e6cb7f38-2fdf-46cd-b64e-c84f8a6af2a3" contextRef="C_f8abfc70-5adf-42f8-9db9-631524deb0cb" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">181</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d679d76e-a974-468c-95cc-b1f6c532da00" contextRef="C_a97ddda1-b2e6-4f0e-a4dd-fead0e4b9525" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">702</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_62f4a25c-7c3b-4e77-b238-755a667978b9" contextRef="C_e6c20a39-5d92-47f0-a395-4259c2c0f361" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">431</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_36f301b5-f6c3-4289-9e78-5456fde6ea7e" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,855</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_08a1c4dc-cdb9-4815-b0f1-19e1aecb0cda" contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:numdotdecimal">1,375</ix:nonFraction></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10.0pt;font-family:Times New Roman;"><ix:nonNumeric id="F_33d0de2a-5c74-4771-8aa8-db03ff65a7ee" contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" escape="true" continuedAt="F_33d0de2a-5c74-4771-8aa8-db03ff65a7ee_1"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 13. Commitments and Contingencies</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingencies</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On August 28, 2018, Silvon S. Simmons (the &#x201c;Plaintiff&#x201d;) amended a complaint against the City of Rochester, New York and various city employees, filed in the United States District Court, Western District of New York, to add the Company and employees as a defendant. The amended complaint alleges conspiracy to violate plaintiff&#x2019;s civil rights, denial of the right to a fair trial, and malicious prosecution. The Plaintiff claims that ShotSpotter colluded with the City of Rochester to fabricate and create gunshot alert evidence to secure Plaintiff&#x2019;s conviction. On the basis of the allegations, the Plaintiff has petitioned for compensatory and punitive damages and other costs and expenses, including attorney&#x2019;s fees. The Company believes that the Plaintiff&#x2019;s claims are without merit and is disputing them vigorously.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On October 12, 2021, the Company filed a defamation lawsuit against VICE Media, LLC (&#34;VICE&#34;), in Delaware Superior Court. The complaint alleges that VICE intentionally misrepresented court records and targeted ShotSpotter with false accusations in order to cultivate a subversive brand that enables VICE to sell sponsored content to corporate advertisers. ShotSpotter seeks more than $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_726470af-3a1f-40e2-ba2d-3c17d556d859" contextRef="C_5559d3d7-e4a9-4130-85e2-89188cfbe620" name="us-gaap:LossContingencyDamagesSoughtValue" unitRef="U_USD" scale="6" decimals="-6" format="ixt:numdotdecimal">200</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in compensatory damages and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"><ix:nonFraction id="F_d2a08378-1211-4f40-b041-1330635805e6" contextRef="C_1005a965-0b11-4e3b-949f-dd368b08737a" name="us-gaap:LossContingencyDamagesSoughtValue" unitRef="U_USD" scale="6" decimals="-6" format="ixt:numdotdecimal">100</ix:nonFraction></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in punitive damages.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company may become subject to legal proceedings, as well as demands and claims that arise in the normal course of business. Such claims, even if not meritorious, could result in the expenditure of significant financial and management resources. The Company makes a provision for a liability relating to legal matters when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. These provisions are reviewed</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><ix:exclude><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">14</span></p>
     <hr style="page-break-after:always;" /><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></ix:exclude><p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">and adjusted to include the impacts of negotiations, estimated settlements, legal rulings, advice of legal counsel, and other information and events pertaining to a particular matter.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">An unfavorable outcome on any litigation matters could require payment of substantial damages, or, in connection with any intellectual property infringement claims, could require the Company to pay ongoing royalty payments or could prevent the Company from selling certain of our products. As a result, a settlement of, or an unfavorable outcome on, any of the matters referenced above or other litigation matters could have a material adverse effect on the Company&#x2019;s business, operating results, financial condition and cash flows.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The COVID-19 pandemic has resulted in a substantial curtailment of business activities worldwide and is causing weakened economic conditions, both in the United States and many countries abroad. As part of intensifying efforts to contain the spread of COVID-19, many companies and state, local and foreign governments have imposed restrictions, including shelter-in-place orders and travel bans. While some of these companies and jurisdictions have relaxed such restrictions, in some cases, the restrictions were put back in place after having been lifted. The Company understands that the ongoing COVID-19 pandemic, associated travel restrictions and social distancing requirements may continue to have an adverse impact on its results of operations. While the ultimate economic impact of the COVID-19 pandemic is highly uncertain, the Company expects that its business and results of operations, including its revenues, earnings and cash flows from operations, may continue to be adversely impacted for the balance of 2022.</span></p></ix:nonNumeric></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span><ix:continuation id="F_33d0de2a-5c74-4771-8aa8-db03ff65a7ee_1"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company may be adversely affected by increasing social unrest, protests against racial inequality, protests against police brutality and associated ongoing movements such as &#x201c;Defund the Police.&#x201d; These events may directly or indirectly affect police agency budgets and funding available to current and potential customers. Participants in these events may also attempt to create the perception that the Company&#x2019;s solutions are contributing to the &#x201c;problem,&#x201d; which may adversely affect the Company, its business and results of operations, including its revenues, earnings and cash flows from operations.</span></ix:continuation></span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">15</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;" id="managements_discussion_analysis_financia"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 2. Management's Discussion and Analysis of Financial Condition and Results of Operations</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.0589583333333332;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;" id="p277309572"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">You </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">should read the following discussion and analysis of our financial condition and results of operations together with our unaudited condensed consolidated financial statements and accompanying notes included in this Quarterly Report on Form 10-Q and the financial statements and accompanying notes and other financial information in the Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations included in the Company&#x2019;s Annual Report on Form 10-K for the year ended December 31, 2021, filed with the Securities and Exchange Commission (&#x201c;SEC&#x201d;) on March 29, 2022. This Quarterly Report on Form 10-Q contains &#x201c;forward-looking statements&#x201d; within the meaning of Section 27A of the Securities Act of 1933, as amended (the &#x201c;Exchange Act&#x201d;), and Section 21E of the Securities Exchange Act of 1934, as amended (the &#x201c;Exchange Act&#x201d;). These statements are often identified by the use of words such as &#x201c;anticipate,&#x201d; &#x201c;believe,&#x201d; &#x201c;continue,&#x201d; &#x201c;could,&#x201d; &#x201c;estimate,&#x201d; &#x201c;expect,&#x201d; &#x201c;intend,&#x201d; &#x201c;may,&#x201d; &#x201c;plan,&#x201d; &#x201c;project,&#x201d; &#x201c;will,&#x201d; &#x201c;would&#x201d; or the negative or plural of these words or similar expressions or variations. Such forward-looking statements are subject to a number of risks, uncertainties, assumptions and other factors that could cause actual results and the timing of certain events to differ materially from future results expressed or implied by the forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those identified herein, those discussed in the subsection titled &#x201c;Impact of COVID-19 and Social Unrest on our Business&#x201d; below, as well as the section titled &#x201c;Risk Factors&#x201d; set forth in Part II, Item 1A of this Quarterly Report on Form 10-Q and in our other SEC filings. You should not rely upon forward-looking statements as predictions of future events. Furthermore, such forward-looking statements speak only as of the date of this report. Except as required by law, we undertake no obligation to update any forward-looking statements to reflect events or circumstances after the date of such statements.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.0589583333333332;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Overview</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We provide precision-policing and security solutions for law enforcement and security personnel to help prevent and reduce gun violence and make cities, campuses and facilities safer. Our flagship public safety solution, ShotSpotter Respond, is the leading outdoor gunshot detection, location and alerting system. Our patrol management software, ShotSpotter Connect, creates crime forecasts designed to enable more precise and effective use of patrol resources to deter crime. Our security solutions, ShotSpotter SecureCampus and ShotSpotter SiteSecure, are designed to help law enforcement and security personnel serving universities and corporations mitigate risk and enhance security by notifying authorities of a potential outdoor gunfire incident, saving critical minutes for first responders to arrive. ShotSpotter Investigate and COPLINK X add case management and leads generation, respectively, to our expanding suite of precision policing technology solutions and provide agencies with a cloud-based investigative digital case folder and analytical and collaboration tools to improve case closure rates. Our technology innovation unit, ShotSpotter Labs, supports innovative uses of our technology to help protect wildlife and the environment.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our gunshot detection solutions consist of highly-specialized, cloud-based software integrated with proprietary, internet-enabled sensors designed to detect outdoor gunfire. The speed and accuracy of our gunfire alerts enable law enforcement and security personnel to consistently and quickly respond to shooting events including those unreported through 911, which can increase the chances of apprehending the shooter, providing timely aid to victims, and identifying witnesses before they scatter, as well as aid in evidence collection and serve as an overall deterrent. When a potential gunfire incident is detected by our sensors, our system precisely locates where the incident occurred and applies machine classification combined with human review to analyze and validate the incident. An alert containing a location on a map and critical information about the incident is sent directly to subscribing law enforcement or security personnel through any internet-connected computer and to iPhone or Android mobile devices.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our software sends gunfire data along with the audio of the triggering sound to our Incident Review Center (&#x201c;IRC&#x201d;), where our trained incident review specialists are on duty 24 hours a day, seven days a week, 365 days a year to screen and confirm actual gunfire incidents. Our trained incident review specialists can supplement alerts with additional tactical information, such as the potential presence of multiple shooters or the use of high-capacity weapons. Gunshot incidents reviewed by our IRC result in alerts typically sent within approximately 45 seconds of the receipt of the gunfire incident.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We generate annual subscription revenues from the deployment of ShotSpotter Respond on a per-square-mile basis. Our security solutions, ShotSpotter SecureCampus and ShotSpotter SiteSecure, are typically sold on a subscription basis, each with a customized deployment plan. Our ShotSpotter Connect solution is also sold on a subscription basis. </span><span style="background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">As of March 31, 2022, we had ShotSpotter Respond, ShotSpotter SecureCampus and ShotSpotter SiteSecure coverage areas under contract for approximately 950 square miles, of which 910 square miles had gone live. C</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">overage areas under contract included over 130 cities and 15 campuses/sites across the United States, South Africa and the Bahamas, including four of the ten largest cities in the United States. Most of our revenue is attributable to customers based in the United States.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">While we intend to continue to devote resources to increase sales of our solutions, we expect that revenues from our ShotSpotter Respond solution will continue to comprise a majority of our revenues for the foreseeable future. ShotSpotter Labs projects are generally conducted in coordination with a sponsoring charitable organization and may or may not be revenue-producing. When they are revenue-producing, they will generally be sold on a cost-plus basis. As such, ShotSpotter Labs projects will normally produce gross margins significantly lower than our ShotSpotter Respond solutions. Additionally, in early 2020, we added new pricing programs for Tier 4 and 5 law enforcement agencies (those with fewer than 100 sworn officers) that allow them to contract for our gunshot detection solutions to cover a footprint of less than three square miles, using standardized coverage parameters, at a discounted annual subscription rate.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We acquired LEEDS, LLC (&#x201c;LEEDS&#x201d;) in November 2020 to expand our suite of solutions and introduce  ShotSpotter Investigate. ShotSpotter Investigate is our case management solution that helps automate investigative work and improve case clearance rates &#x2013; addressing an inefficiency problem for many agencies that have had to rely on multiple disparate systems to work cases. Using the software, investigators benefit from a single digital case folder that includes all elements related to a case. Analytical and collaboration tools help investigators connect the dots and share information faster while reporting helps package cases for command staff and prosecutors. With the launch of ShotSpotter Investigate in the second quarter of fiscal 2021, we now offer a more complete precision policing platform to enable intelligence-driven prevention, response to, and investigation of crime for local, state and federal agencies.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We acquired Forensic Logic LLC (&#34;Forensic Logic&#34;) in January 2022, a leading provider of cloud-based data services to U.S. law enforcement and public safety to enable powering the industry's most advanced search and analysis technology. We believe combining lead generation from Forensic Logic with our ShotSpotter Investigate case management solution can accelerate crime solving solutions and improve clearance rates.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Since our founding over 26 years ago, ShotSpotter has been and continues to be a purpose-led company. We are a mission-driven organization that focuses on improving public safety outcomes. We accomplish this by earning the trust of law enforcement and providing them solutions to help them better engage and strengthen the police-community relationships in fulfilling their sworn obligation equally to serve and protect all. Our inspiration comes from our principal founder, Dr.&#x202f;Bob Showen, who believes that the highest and best use of technology is to promote social good. We are committed to developing comprehensive, respectful, and engaged partnerships with law enforcement agencies, elected officials and communities focused on making a positive difference in the world.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We enter into subscription agreements that typically range from one to three years in duration, with the majority having a contract term of one year. Substantially all of our sales are to governmental agencies and universities, which often undertake a prolonged contract evaluation process that affects the size or the timing of our sales contracts and may likewise increase our customer acquisition costs. For a discussion of the risks associated with our sales cycle, see risks entitled &#x201c;Our sales cycle can be unpredictable, time-consuming and costly, and our inability to successfully complete sales could harm our business&#x201d; and &#x201c;Because we generally recognize our subscription revenues ratably over the term of our contract with a customer, fluctuations in sales will not be fully reflected in our operating results until future periods&#x201d; in Item 1A, </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risk Factors</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, included in this Quarterly Report on Form 10-Q.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We rely on a limited number of suppliers and contract manufacturers to produce components of our solutions. We have no long-term contracts with these manufacturers and purchase from them on a purchase-order basis. Our outsourced manufacturers generally procure the components directly from third-party suppliers. Although we use a limited number of suppliers and contract manufacturers, we believe that we could find alternate suppliers or manufacturers if circumstances required us to do so, in part because a portion of the components required by our solutions are available off the shelf. For a discussion of the risks associated with our limited number of suppliers, see risks entitled &#x201c;We rely on a limited number of suppliers and contract manufacturers, and our proprietary ShotSpotter sensors are manufactured by a single contract manufacturer&#x201d; in Item 1A, </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Risk Factors</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, and the subsection titled &#x201c;Impact of COVID-19 and Social Unrest on our Business&#x201d;  included in this Quarterly Report on Form 10-Q.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We generated revenues of $21.2 million and $15.0 million for the three months ended March 31, 2022 and 2021, respectively, a year-over-year increase of 41%. Revenues from ShotSpotter Respond during the three months ended March 31, 2022 and 2021, represented approximately 63% and 75% of total revenues, respectively. Our two current largest customers, the City of New York and the City of Chicago, accounted for 38% and 10% respectively, of our total revenues for the three months ended March 31, 2022, and 34% and 13%, respectively, of our total revenues for the three months ended March 31, 2021.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">17</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">For the three months ended March 31, 2022 and 2021, revenues generated within the United States (including Puerto Rico and the U.S. Virgin Islands) accounted for  $20.8 million and $14.8 million, or 98% and 99%, respectively, of  total revenues for both periods. For the three months ended March 31, 2022 and 2021, revenues derived from our customers located outside the United States accounted for $0.4 million and $0.2 million, respectively.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We had net income of $0.4 million and $0.1 million for the three months ended March 31, 2022 and 2021, respectively. Our accumulated deficit was $98.4 million and $98.8 million at March 31, 2022 and December 31, 2021, respectively.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We have focused on rapidly growing our business and believe that its future growth is dependent on many factors, including our ability to increase our customer base, expand the coverage of our solutions among our existing customers, expand our international presence and increase sales of our security solutions. Our future growth will primarily depend on the market acceptance for outdoor gunshot detection solutions. The challenges we are facing in this regard as a result of the COVID-19 pandemic are summarized in the subsection below entitled &#x201c;Impact of COVID-19 and Social Unrest on our Business.&#x201d; Other challenges we face in this regard include our target customers not having access to adequate funding sources, the fact that contracting with government entities can be complex, expensive, and time-consuming, and the fact that our typical sales cycle is often very long, difficult to estimate accurately and can be costly, and the fact that negative publicity about our company can and has caused current and potential future customers to evaluate the sales of our solutions more than in the past. We expect international sales cycles to be even longer than our domestic sales cycles. To combat these challenges, we invest in research and development, increase awareness of our solutions, invest in new sales and marketing campaigns, often in different languages for international sales, and hire additional sales representatives to drive sales to continue to maintain our position as a market leader. In addition, we believe that entering into strategic partnerships with other service providers to cities and municipalities offers another potential avenue for expansion.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We will also focus on expanding our business by introducing new products and services such as ShotSpotter Connect to existing customers and gaining new customers for ShotSpotter Labs. We believe that developing and acquiring products for law enforcement in adjacent categories is a path for additional growth given our large and growing installed base of police departments who trust ShotSpotter&#x2019;s products, support and way of doing business. The ability to cross-sell new products provides an opportunity to grow revenues per customer and lifetime value. Challenges we face in this area include ensuring our new products are reliable, integrated well with other ShotSpotter solutions and priced and serviced appropriately. In some cases, we will need to bring in new skill sets to properly develop, market, sell or service these new products depending on the categories they represent. </span><span style="background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Consistent with this strategy, we expanded our suite of solutions with the acquisitions of LEEDS and Forensic Logic.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">With respect to international sales, we believe that we have the potential to expand our coverage within existing areas, and to pursue opportunities in Latin America and other regions of the world. By adding additional sales resources in strategic locations, we believe we will be better positioned to reach these markets. However, we recognize that we have limited international operational experience and currently operate in a limited number of regions outside of the United States. Operating successfully in international markets will require significant resources and management attention and will subject us to additional regulatory, economic and political risks. We may face additional challenges that may delay contract execution related to negotiating with governments in transition, the use of third-party integrations and consultants. Moreover, we anticipate that different political and regulatory considerations that vary across different jurisdictions could extend or make more difficult to predict the length of what is already a lengthy sales cycle.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Key Business Metrics</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:66.536%;"></td>
    <td style="width:1.615%;"></td>
    <td style="width:0.683%;"></td>
    <td style="width:13.75%;"></td>
    <td style="width:0.683%;"></td>
    <td style="width:1.615%;"></td>
    <td style="width:0.683%;"></td>
    <td style="width:13.75%;"></td>
    <td style="width:0.683%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net new &#34;go-live&#34; cities</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net New &#x201c;Go-Live&#x201d; Cities</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net new &#x201c;go-live&#x201d; cities represent the number of cities covered by deployments of our gunshot detection solutions that were formally approved by customers during the year, both from initial and expanded customer deployments, net of cities that ceased to be &#x201c;live&#x201d; during the year due to customer cancellations. New cities include deployed coverage areas that may have been sold, or booked, in a prior period. We focus on net new &#x201c;go-live&#x201d; cities as a key business metric to measure our operational performance and market penetration. During the three months ended March 31, 2022, we also went live with one pilot project that is not included in the table above.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">18</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Impact of COVID-19 and Social Unrest on our Business</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The COVID-19 pandemic resulted in a substantial curtailment of business activities worldwide and caused ongoing economic uncertainty, both in the United States and many countries abroad. In connection with efforts to contain the spread of COVID-19, many companies and state, local and foreign governments imposed restrictions, including shelter-in-place orders and travel bans that were in effect for most or all of 2020 and for much of 2021. While some of these companies and jurisdictions have relaxed or ended such restrictions, some restrictions remain and others may be put back in place after having been lifted. We expect that the evolving COVID-19 pandemic, associated travel restrictions and social distancing requirements may continue to have an adverse impact on our results of operations. While the ultimate economic impact of the COVID-19 pandemic is highly uncertain, we expect that our business and results of operations, including our revenues, earnings and cash flows from operations, may continue to be adversely impacted in the future.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We may be adversely affected by increasing social unrest, protests against racial inequality, protests against police brutality and movements such as &#x201c;Defund the Police&#x201d; and such unrest may be exacerbated by inaccurate information or negative publicity regarding our solutions. Although the negativity of some of these events has been reduced, some of these events may still directly or indirectly affect police agency budgets and funding available to current and potential customers. Participants in these events may also attempt to create the perception that our solutions are contributing to the perceived problems, which may adversely affect us, our business and results of operations, including our revenues, earnings and cash flows from operations.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, the global supply chain for semiconductor chips, including the type of chips used in the sensors integrated into our gunshot detection solutions, has been disrupted by events related to the COVID-19 pandemic, including business shutdowns and increased demand. As a result, we may experience higher costs to procure the sensors required for our solutions. While we believe these delays are temporary and we have taken steps to mitigate the impact of these delays, if supply chain issues become worse, we may not be able to deploy, update or repair our gunshot detection solutions as expected. If we are unable to deliver our solutions or update or repair existing assets, or if we incur higher than expected costs to do so, our revenues may not grow as expected and our business may be adversely impacted.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">While we feel positive with progress to date, it is currently not possible to fully predict the magnitude or duration of the COVID-19 pandemic&#x2019;s impact on our business or the future impact of the recent, ongoing and possible future unrest. The extent to which these events impact our business will depend on numerous evolving factors that we may not be able to control or accurately predict, including without limitation:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the impact of possible disruption to our supply chain caused by distribution and other logistical issues, including delays in manufacturing chips used in our sensors, which could delay our ability to deploy new go-live miles or update our currently deployed technology;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the impact of increased sensor costs and unforeseen operating expenses, difficulties, delays and other additional deployment expenses created by the pandemic, resulting in business disruptions and global supply chain issues;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the duration and scope of the challenges created by the pandemic or by ongoing social unrest; </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">governmental, business and individuals&#x2019; actions that have been and continue to be taken in response to these events; </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the impact of the pandemic and social unrest on economic activity and actions taken in response;  </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the effect on our customers and demand for our products and services; </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to continue to sell our products and services, including as a result of travel restrictions and people working from home, or restrictions on access to our potential customers; </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the ability of our customers to pay for our products and services; </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">any closures of our facilities and the facilities of our customers and suppliers; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the degree to which our employees or those of our customers or suppliers become ill with COVID-19.</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">19</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Components of Results of Operations</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Presentation of Financial Statements</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our consolidated financial statements include the accounts of our wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenues</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We derive the majority of our revenues from subscription services. We recognize subscription fees ratably, on a straight-line basis, over the term of the subscription, which for new customers is typically initially one to three years in length. Customer contracts include one-time set-up fees for the set-up of our sensors in the customer&#x2019;s coverage areas, training and third-party integration licenses. If the set-up fees are deemed to be a material right, they are recognized ratably over three to five years depending on the contract term. Training and third-party integration license fees are recognized upon delivery.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">For ShotSpotter Respond, we generally invoice customers for 50% of the total contract value when the contract is fully executed and for the remaining 50% when the subscription service is operational and ready to go live &#x2013; that is, when the customer has acknowledged the completion of all the deliverables in the signed customer acceptance form. For COPLINK X, we generally invoice customers 100% of the total contract value when the subscription service is operational. All fees billed in advance of services being delivered are recorded as deferred revenue. The timing of when new miles go live can be uncertain and, as a result, can have a significant impact on the levels of revenues and deferred revenue from quarter to quarter. For ShotSpotter Respond, our pricing model is based on a per-square-mile basis. For ShotSpotter SecureCampus, ShotSpotter SiteSecure and ShotSpotter Investigate, our pricing model is on a customized-site basis. For ShotSpotter Connect, pricing is currently customized, generally tied to the number of sworn police officers in a particular city. We may also offer discounts or other incentives in conjunction with all ShotSpotter sales in an effort to introduce the product, accelerate sales or extend renewals for a longer contract term. As a result of our process for invoicing contracts and renewals upon execution, our cash flow from operations and accounts receivable can fluctuate due to timing of contract execution and timing of deployment.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We generally invoice subscription service renewals for 100% of the total contract value when the renewal contract is executed. Renewal fees are recognized ratably over the term of the renewal, which is typically one year. While most of our customers elect to renew their agreements, in some cases, they may not be able to obtain the proper approvals or funding to complete the renewal prior to expiration. For these customers, we stop recognizing subscription revenues at the end of the current contract term, even though we may continue to provide services for a period of time until the renewal process is completed. Once the renewal is complete, we then recognize subscription revenues for the period between the expiration of the original term of the agreement and the completion of the renewal process in the month in which the renewal is executed. If a customer declines to renew its subscription prior to the end of the contract term, then the remaining setup fees, if any, are immediately recognized.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">With the acquisition of LEEDS, we generate revenues through the sale of (i)&#x202f; maintenance and support services and (ii) professional software development services to a single customer, through a sales channel intermediary. The sales channel intermediary contract includes an annual, renewable subscription for software and related maintenance and support services. The contract also provides for the procurement of professional services, such as for software development and testing for product feature enhancements, by executing supplementary work orders.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">With the acquisition of Forensic Logic, we also generate revenues from subscriptions for COPLINK X, cloud-based data services for advanced search and analysis tools, with revenue recognition being similar to our Respond products. We also provide access to this technology platform to an intermediary to either be resold or combined with their own materials, software and/or services, to create an integrated solution that is provided to their end-user customers. We recognize this revenue net of margins paid to the intermediary.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">It is likely that international deployments may have different payment and billing terms due to their local laws, restrictions or other customary terms and conditions.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter Labs projects may or may not be revenue-producing. When they are revenue-producing, they will generally be sold on a cost-plus basis.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We anticipate that, due to the COVID-19 pandemic, our customers may still face budget shortfalls due to the increased expenditures our customers have had to endure to address the pandemic.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Costs include the cost of revenues and impairment of property and equipment. Cost of revenues primarily includes depreciation expense associated with capitalized customer acoustic sensor networks, communication expenses, costs related to hosting our service applications, costs related to operating our IRC, providing remote and on-site customer support and maintenance and forensic services, providing customer training and onboarding services, certain personnel and related costs of operations, stock-based compensation and allocated overheads that include information technology, facility and equipment depreciation costs.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Impairment of property and equipment is primarily attributable to our write-off of the remaining book value of sensor networks related to customers lost during the three months ended March 31, 2021. There was no impairment recorded in the three months ended March 31, 2022.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We are upgrading our sensors that use third-generation (&#x201c;3G&#x201d;) cellular communications to the fourth-generation Long-Term Evolution wireless technology, which will increase our cost of revenues. By March 31, 2022, we had already upgraded over 60 percent of our 3G sensors. We expect to complete all required upgrades by the end of 2022. Additionally, we are and may continue to re-use and re-deploy some of the old 3G sensors, or components within them that have a remaining serviceable life where it makes sense to do so.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In the near term, we expect our cost of revenues to increase in absolute dollars as our installed base increases, although certain of our costs of revenues are fixed and do not need to increase commensurate with increases in revenues. In addition, depreciation expense associated with deployed equipment is recognized over the first five years from the go-live date. We also expect cost of revenues to increase in absolute dollars as we continue to invest in our customer success capabilities to drive growth and value for our customers.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenues for ShotSpotter Investigate generally relate to revenues generated through the sale of proprietary software licenses and related maintenance and support services and professional software development services. Costs of these professional services include employee compensation costs that are relatively fixed, third-party contractor costs, allocated facility costs and overhead, and the costs of billable expenses such as travel and lodging. The unpredictability of the timing of entering into significant professional services agreements may cause significant fluctuations in our costs which, in turn, may impact our quarterly financial results.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The cost of revenues for COPLINK X is generally related to employee compensation costs and datacenter hosting services, both of which are relatively fixed.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Operating Expenses</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating expenses consist of sales and marketing, research and development, and general and administrative expenses. Consultants, salaries, bonuses, stock-based compensation expense and other personnel costs are the most significant components of each of these expense categories. We include stock-based compensation expense incurred in connection with the grant of stock options and restricted stock units to the applicable operating expense category based on the equity award recipient&#x2019;s functional area.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We are focused on executing on our growth strategy. As a result, in the near term we expect our total operating expenses to increase in absolute dollars as we incur additional expenses due to growth. Although our operating expenses will fluctuate, we expect that over time, as a whole, they will generally decrease as a percentage of revenues.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Sales and Marketing</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales and marketing expenses primarily consist of personnel-related costs attributable to our sales and marketing personnel, commissions earned by our sales personnel, marketing expenses for trade shows and lead generation programs, consulting fees, travel and facility-related costs and allocated overhead.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">21</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the duration of the COVID-19 pandemic with associated shelter-in-place orders, remote work policies and travel bans, our sales and marketing expense decreased. As travel has increased in 2022 compared to 2021, our sales and marketing expenses have increased in absolute dollars due to the growth in our sales and marketing organization. This growth has included adding sales and/or marketing personnel and expanding our marketing and strategic communications activities to continue to generate additional leads. Sales and marketing expense may fluctuate from quarter to quarter based on the timing of commission expense, marketing campaigns and tradeshows.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Research and Development</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Research and development expenses primarily consist of personnel-related costs attributable to our research and development personnel, consulting fees and allocated overhead. We have devoted our product development efforts primarily to develop new lower-cost sensor hardware, develop new features, improve functionality of our solutions and adapt to new technologies or changes to existing technologies.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We are investing in engineering resources to support further development of ShotSpotter Connect and ShotSpotter Investigate. The focus of this effort will be in the areas of data science modeling, user experience, core application functionality and backend infrastructure improvements, including integration of ShotSpotter gunshot data to enhance forecasting of gun violence.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We are also investing research and development resources in conjunction with our ShotSpotter Labs projects and initiatives. The initial focus of these efforts is to develop innovative sensor applications as well as to test and expand the functionality of our outdoor sensors in challenging environmental conditions.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In the near term, we expect our research and development expenses to increase in absolute dollars as we increase our research and development headcount to further strengthen our software and invest in the development of our services.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We will continue to invest in research and development to leverage our large and growing database of acoustic events, which includes those from both gunfire and non-gunfire. We also intend to leverage third-party artificial intelligence and our own evolving cognitive and analytical applications to improve the efficiency of our solutions. Certain of these applications and outputs may expand the platform of services that we will be able to offer our customers.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">General and Administrative</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">General and administrative expenses primarily consist of personnel-related costs attributable to our executive, finance, and administrative personnel, legal, litigation, strategic communications, accounting and other professional services fees, other corporate expenses and allocated overhead.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In the near term, we expect our general and administrative expenses to increase in absolute dollars as we grow our business, support our operations as a public company, cover increased legal, litigation and strategic communications costs, and increase our headcount.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other Income (Expense), Net</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other income (expense), net, consisted primarily of interest income and local and franchise tax expenses.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our income taxes are based on the amount of our income before tax and enacted federal, state and foreign tax rates, adjusted for allowable credits and deductions, as applicable.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We continually monitor all positive and negative evidence regarding the realization of our deferred tax assets and may record assets when it becomes more likely than not that they will be realized, which may impact the expense or benefit from income taxes.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In assessing the realizability</span><span style="background-color:rgba(0,0,0,0);color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">of deferred tax assets, management considers whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. We regularly assess the likelihood that the deferred tax assets will be recovered from future taxable income. We consider projected future taxable income and ongoing tax planning strategies, then record a valuation allowance to reduce the carrying value of the net deferred taxes to an amount that is more likely than not able to be realized. Based upon our assessment of all available evidence, including the previous</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">22</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">three years of income before tax after permanent items, estimates of future profitability, and our overall prospects of future business, we have determined that it is more likely than not that we will not be able to realize a portion of the deferred tax assets in the future. We will continue to assess the potential realization of deferred tax assets on an annual basis, or an interim basis if circumstances warrant. If our actual results and updated projections vary significantly from the projections used as a basis for this determination, we may</span><span style="background-color:rgba(0,0,0,0);color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">need to change</span><span style="background-color:rgba(0,0,0,0);color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the</span><span style="background-color:rgba(0,0,0,0);color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">valuation</span><span style="background-color:rgba(0,0,0,0);color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">allowance against the gross</span><span style="background-color:rgba(0,0,0,0);color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">deferred tax assets.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Results of Operations</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Comparison of Three Months Ended March 31, 2022 and 2021</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth our selected condensed consolidated statements of operations data for the three months ended March 31, 2022 and 2021 (in thousands):</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.838%;"></td>
    <td style="width:1.015%;"></td>
    <td style="width:1.305%;"></td>
    <td style="width:6.225%;"></td>
    <td style="width:0.87%;"></td>
    <td style="width:1.015%;"></td>
    <td style="width:0.839%;"></td>
    <td style="width:5.883%;"></td>
    <td style="width:3.055%;"></td>
    <td style="width:1.015%;"></td>
    <td style="width:1.305%;"></td>
    <td style="width:6.225%;"></td>
    <td style="width:0.87%;"></td>
    <td style="width:1.015%;"></td>
    <td style="width:0.725%;"></td>
    <td style="width:5.997%;"></td>
    <td style="width:2.185%;"></td>
    <td style="width:1.015%;"></td>
    <td style="width:1.305%;"></td>
    <td style="width:5.935%;"></td>
    <td style="width:0.87%;"></td>
    <td style="width:1.015%;"></td>
    <td style="width:0.621%;"></td>
    <td style="width:3.801%;"></td>
    <td style="width:3.055%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">As a % of</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">As a % of</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Change</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Revenues</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Revenues</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Revenues</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">21,214</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">100</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">15,013</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">100</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,201</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">41</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Costs</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenues</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8,290</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">39</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,300</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">42</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,990</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">32</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Impairment of property and equipment</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">25</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(25</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(100</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:20.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:20.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total costs</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8,290</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">39</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,325</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">42</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,965</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">31</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Gross profit</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,924</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">61</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8,688</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">58</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4,236</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">49</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating expenses:</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales and marketing</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5,576</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">26</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3,935</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">27</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,641</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">42</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,627</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,713</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">914</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">53</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4,289</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,871</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">19</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,418</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">49</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total operating expenses</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,492</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">59</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8,519</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3,973</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">47</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Income from operations</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">432</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">169</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">263</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">156</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other expense, net</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(45</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(1</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(41</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(4</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Provision (benefit) from income taxes</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">49</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(49</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(100</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">387</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">79</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">308</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">390</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">After filing the Form 8-K related to our earnings release for the quarter ended March 31, 2022 on May 10, 2022, we made revisions to the allocation of amortization expense for customer relationship and tradename intangible assets, which had the result of reclassification of approximately $0.3 million from cost of revenues to various operating expenses for the three months ended March 31, 2022. There was no change to operating income or net income from that reported in the earnings release.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revenues</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The increase of $6.2 million was primarily </span><span style="background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">attributable to new customers, expansions of existing customer coverage areas, as well as Forensic Logic's revenue contribution and the delayed amendment of a LEEDS contract from late 2021 into January 2022.</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> We went live in four new Respond cities, secured two new security customers and expanded in three current customer cities.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The increase of $2.0 million was due primarily to an increase of $1.4 million in personnel costs as a result of increased headcount due to continued growth and the acquisition of Forensic Logic in January 2022, as well as increased travel costs relating to customer deployments. In addition, products costs increased by $0.4 million primarily as a result of supply shortages and increased sensors deployed, third-party labor costs increased by $0.1 million in support of customers, and other costs increased by $0.1 million.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">23</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Operating Expenses</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Sales and Marketing Expense</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales and marketing expense increased by $1.6 million and was primarily due to an increase of $0.6 million in personnel costs, a $0.7 million increase in consulting and commission expenses, and a $0.3 million addition to amortization of customer relationship and tradename assets related to Forensic Logic.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Research and Development Expense</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Research and development expense increased by $0.9 million and was primarily due to increased personnel and headcount costs as a result of the Forensic Logic acquisition.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">General and Administrative Expense</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The increase of $1.4 million was due primarily to a $0.9 million increase in legal expense, primarily related to our lawsuit  against VICE Media, LLC for defamation, an increase in costs related to subpoenas, and an increase in strategic communications expense, a $0.3 million increase in personnel-related costs and a $0.2 million increase in other costs including business insurance expense and travel and entertainment expense and consulting expense.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other Income (Expense), Net</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The decrease in other income (expense) was due primarily to a decrease in interest income due to a decline in interest rates.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our income taxes are based on the amount of our taxable income and enacted federal, state and foreign tax rates, adjusted for allowable credits, deductions and the valuations allowance against deferred tax assets, as applicable. There was no provision for income taxes recorded in the three months ended March 31, 2022. For the three months ended March 31, 2021, due to having net operating loss carryforwards, our recorded income taxes consisted of foreign taxes only.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Liquidity and Capital Resources</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Sources of Funds</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our operations have been financed primarily through net proceeds from the sale of equity, debt financing arrangements and cash from operating activities. Our principal source of liquidity is cash and cash equivalents totaling  $8.9</span><span style="background-color:rgba(0,0,0,0);color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">million as of  March 31, 2022, and our available loan facility of $20.0 million. As of March 31, 2022, no amounts were outstanding on our loan facility. In December 2021, we obtained a waiver for the financial covenants tied to our profitability through June 30, 2022.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We believe our existing cash and cash equivalent balances, our available credit facility and cash flow from operations will be sufficient to meet our working capital and capital expenditure requirements for at least the next 12 months. We believe that despite our negative working capital, the costs to perform the short-term deferred revenue is relatively low compared to the balance of $33.9 million. However, should additional working capital be needed, we can utilize our unused loan facility. Our loan facility expires September 2022, however we expect the facility to be renewed under similar terms. We believe that we will meet longer term expected future working capital and capital expenditure requirements through a combination of cash flows from operating activities, available cash balances and our available credit facility. Our future capital requirements may vary materially from those currently planned and will depend on many factors, including our rate of revenue growth, the timing and extent of spending on sales and marketing, the expansion of sales and marketing activities, the timing of new product introductions, market acceptance of our products and overall economic conditions. We may also seek additional capital to fund our operations, including through the sale of equity or debt financings. To the extent that we raise additional capital through the future sale of equity, the ownership interest of our stockholders will be diluted, and the terms of these securities may include liquidation or other preferences that adversely affect the rights of our existing common stockholders. The incurrence of debt financing would result in debt service obligations and the instruments governing such debt could provide for operating and financing covenants that would restrict our operations. Additionally, there is no guarantee debt or equity financing will be available to us on terms that are favorable to us, or at all.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">24</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Funds</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our historical uses of cash have primarily consisted of cash used for operating activities, such as expansion of our sales and marketing operations, research and development activities and other working capital needs, and cash used in investing activities, such as property and equipment expenditures to install infrastructure in customer cities in order to deliver our solutions. Our expected material cash requirements are similar to our historical uses of cash as well as in connection with contingent earnouts, our stock repurchase program and repayment of any outstanding debt obligations under our credit facility, each as described below.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In January 2022, we acquired Forensic Logic for a purchase consideration of $31.6 million, consisting of $4.9 million in cash, subject to working capital adjustments, and 464,540 shares of our common stock valued at $14.3 million. The purchase consideration also included a contingent earnout payable up to $20.0 million based on Forensic Logic's revenues generated during the years ended December 31, 2022 and 2023. Up to $9.5 million in contingent earnout will be payable based on Forensic Logic&#x2019;s revenues generated during 2022. An additional amount up to $10.5 million contingent earnout will be payable based on Forensic Logic&#x2019;s revenues during 2023. The amounts are payable within approximately 120 days after the end of 2022 and 2023, respectively.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:11.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock Repurchase Program</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In May 2019, we announced that our Board of Directors had approved a stock repurchase program for up to $15 million of our common stock. The shares may be repurchased from time to time in open market transactions, in privately negotiated transactions or by other methods in accordance with federal securities laws. The actual timing, number and value of shares repurchased under the program will be determined by management in its discretion and will depend on a number of factors, including the market price of our common stock, general market and economic conditions and applicable legal requirements. The stock repurchase program does not obligate us to purchase any particular amount of common stock and may be suspended or discontinued at any time.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022, the Company repurchased 57,623 shares of its common stock at an average price of $28.34 per share for $1.6 million. The repurchases were made in open market transactions using cash on hand, and all of the shares repurchased were retired. At March 31, 2022, $1.5 million remained available for repurchase under the Company's stock repurchase program.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:6.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Credit Facility</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On September 27, 2018, we entered into the Umpqua Credit Agreement for $10.0 million, which was amended in August 2020 to increase the size of our available loan facility to $20.0 million, which allows us to borrow up to $20.0 million under a revolving loan facility. We intend to use the revolving loan facility for general working capital purposes.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash Flows</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Comparison of Three Months Ended March 31, 2022 and 2021</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table presents a summary of our cash flows for the three months ended March 31, 2022 and 2021:</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:65.024%;"></td>
    <td style="width:2.371%;"></td>
    <td style="width:1.346%;"></td>
    <td style="width:12.746%;"></td>
    <td style="width:0.901%;"></td>
    <td style="width:2.62%;"></td>
    <td style="width:1.346%;"></td>
    <td style="width:12.746%;"></td>
    <td style="width:0.901%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
    <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net cash provided by (used in):</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:15.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating activities</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,283</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(1,496</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);text-indent:15.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Investing activities</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(6,526</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(1,231</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:15.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:15.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Financing activities</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(1,621</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(2,374</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net change in cash and cash equivalents</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(6,864</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(5,101</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Operating Activities</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our net income and cash flows provided by operating activities are significantly influenced by our increase in headcount to support our growth, increase in legal expenses, outside services fees, and sales and marketing expenses, and our ability to bill and collect in a timely manner.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">25</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net cash provided by operating activities increased $2.8 million for the three months ended March 31, 2022 compared to the same period of 2021, primarily due to an increase of $6.6 million in cash collected from customers, offset by a $2.1 million increase in payments for personnel costs, an increase of $1.6 million in professional services, consulting and legal expenses and an increase of $0.1 million in other expenses.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investing Activities</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our investing activities consist of business acquisition expenditures, capital expenditures to install our solutions in customer coverage areas, purchases of property and equipment, and investments in intangible assets.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Investing activities used $6.5 million and $1.2 million in the three months ended March 31, 2022 and 2021, respectively. During the three months ended March 31, 2022, this was primarily driven by the acquisition of Forensic Logic for $5.0 million as well as investments in property and equipment installed for new deployments and our solutions in customer coverage areas</span><span style="background-color:rgba(0,0,0,0);color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Financing Activities</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cash generated by financing activities includes net proceeds from the exercise of stock options and warrants, proceeds from the employee stock purchase plan purchases offset by payments for repurchases of our common stock and contingent earnout liabilities.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Financing activities used $1.6 million in cash during the three months ended March 31, 2022, which was driven by $1.6 million in payments for repurchases of our common stock. </span><span style="background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Financing activities used $2.4 million in cash during the three months ended March 31, 2021, which was primarily driven by $2.2 million in payments for repurchases of our common stock and $0.4 million in payments for HunchLab&#x2019;s contingent consideration, offset by $0.2 million in proceeds from the exercise of options and warrants.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Critical Accounting Estimates</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our condensed consolidated financial statements are prepared in accordance with United States Generally Accepted Accounting Principles. The preparation of our consolidated financial statements requires us to make estimates, assumptions and judgments that affect the reported amounts of revenues, assets, liabilities, costs and expenses. We base our estimates and assumptions on historical experience and other factors that we believe to be reasonable under the circumstances and evaluate our estimates and assumptions on an ongoing basis. Our actual results may differ from these estimates.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our critical accounting estimates are described under the heading &#x201c;Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations&#x2014;Critical Accounting Estimates&#x201d; in our 2021 Annual Report on Form 10-K and the notes to the audited consolidated financial statements appearing in our 2021 Annual Report on Form 10-K. For the significant or material changes in our critical accounting policies during the three months ended March 31, 2022, see Note 2,</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> Summary of Significant Accounting Policies,</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> to the notes of our condensed consolidated financial statements included in this Quarterly Report on Form 10-Q.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Recently Issued Accounting Pronouncements</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">See Note 2, </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Summary of Significant Accounting Policies</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, to the notes to our consolidated financial statements included in our 2021 Annual Report on Form 10-K for a summary of recently issued accounting pronouncements.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">26</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;" id="item_3"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 3. Qualitative and Quanti</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">tati</span><span id="item_3_qualitative_quantitative_disclosu"></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ve Disclosures about Market Risk</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Market risk represents the risk of loss that may impact our financial position due to adverse changes in financial market prices and rates. Our market risk exposure is primarily the result of fluctuations in interest rates and foreign exchange rates as well as, to a lesser extent, inflation.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">There were no material changes in our market risk during the three months ended March 31, 2022, compared to the market risk disclosed in the Qualitative and Quantitative Disclosures about Market Risk section of our 2021 Annual Report on Form 10-K.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;" id="item_4_controls_procedures"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 4. Controls</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> and Procedures</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Evaluation of Disclosure Controls and Procedures</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our management has evaluated, under the supervision and with the participation of our Chief Executive Officer and Chief Financial Officer, the effectiveness of our disclosure controls and procedures (as defined in Securities Exchange Act of 1934, as amended (the &#x201c;Exchange Act&#34;) Rules 13-a-15(e) and 15d-15(e)) as of the end of the period covered by this report. Based on this evaluation, our Chief Executive Officer and Chief Financial Officer have concluded that as of March 31, 2022, our disclosure controls and procedures were effective to provide reasonable assurance that the information we are required to file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC&#x2019;s rules and forms, and that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, to allow timely decisions regarding required disclosure.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in Internal Control over Financial Reporting</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.0925;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In January 2022, we completed the acquisition of Forensic Logic. We continue to integrate internal controls at Forensic Logic into our control structure. With the exception of these changes, there were no changes in our internal control over financial reporting (as defined in Exchange Act Rule 13a-15(f)) during the quarter ended March 31, 2022 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Inherent Limitations on Effectiveness of Controls</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our management, including our principal executive officer and principal financial officer, does not expect that our disclosure controls and procedures or our internal control over financial reporting will prevent or detect all errors and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within the Company have been detected. The design of any system of controls also is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions. Over time, controls may become inadequate because of changes in conditions, or the degree of compliance with the policies or procedures may deteriorate. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">27</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;" id="partii_other_informations"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">PART II &#x2013; OTH</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ER INFORMATION</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;" id="item_1a_risk_factors_1"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 1A. RIS</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">K F</span><span id="item_1a_risk_factors"></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ACTORS</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Investing in our common stock involves a high degree of risk. You should consider carefully the risks and uncertainties described below, together with all of the other information in this report, including our consolidated financial statements and related notes, before deciding whether to purchase shares of our common stock. If any of the following risks is realized, our business, operating results, financial condition and prospects could be materially and adversely affected. In that event, the price of our common stock could decline, and you could lose part or all of your investment.</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Moreover, the risks described below are not the only ones that we face. Additional risks not presently known to us or that we currently deem immaterial may also affect our business, operating results, prospects or financial condition. You should carefully consider these risk factors, together with all of the other information included in this Quarterly Report on Form 10-Q as well as our other publicly available filings with the SEC.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Summary of Risk Factors</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Investing in our common stock involves risks, including those discussed in this section. These risks include, among others:</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The COVID-19 pandemic has resulted in a material adverse effect on our business, the future magnitude or duration of which we cannot predict with accuracy.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">If our business does not grow as we expect, or if we fail to manage our growth effectively, our operating results and business prospects would suffer.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Interruptions or delays in service from our third-party providers, including delays in the delivery of new sensors as a result of an industry-wide chip shortage, could impair our ability to make our solutions available to our customers, resulting in customer dissatisfaction, damage to our reputation, loss of customers, limited growth and reduction in revenues.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to sell our solutions into new markets, our revenues may not grow.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ongoing social unrest may result in a material adverse effect on our business, the future magnitude or duration of which we cannot predict with accuracy.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our success depends on maintaining and increasing our sales, which depends on factors we cannot control, including the availability of funding to our customers.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our quarterly results of operations may fluctuate significantly due to a wide range of factors, which makes our future results difficult to predict.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Because we generally recognize our subscription revenues ratably over the term of our contract with a customer, fluctuations in sales will not be fully reflected in our operating results until future periods.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We have not been profitable recently and may not achieve or maintain profitability in the future.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We may require additional capital to fund our business and support our growth, and our inability to generate and obtain such capital on acceptable terms, or at all, could harm our business, operating results, financial condition and prospects.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contracting with government entities can be complex, expensive, and time-consuming. </span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to further penetrate the public safety market, our revenues may not grow.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our sales cycle can be lengthy, time-consuming and costly, and our inability to successfully complete sales could harm our business.</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Changes in the availability of federal funding to support local law enforcement efforts could impact our business.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The failure of our solutions to meet our customers&#x2019; expectations could harm our reputation, which may have a material adverse effect on our business, operating results and financial condition.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Real or perceived false positive gunshot alerts or failure or perceived failure to generate alerts for actual gunfire could adversely affect our customers and their operations, damage our brand and reputation and adversely affect our growth prospects and results of operations.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Economic uncertainties or downturns, or political changes, could limit the availability of funds available to our customers and potential customers, which could materially adversely affect our business.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The nature of our business exposes us to inherent liability risks.</span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">As a result of our use of outdoor acoustic sensors, we are subject to governmental regulation and other legal obligations, particularly related to privacy, data protection and information security, and our actual or perceived failure to comply with such obligations could harm our business. Compliance with such laws could impair our efforts to maintain and expand our customer base, and thereby decrease our revenues. </span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Failure to protect our intellectual property rights could adversely affect our business.</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></div></div>
  <div style="margin-left:4.528%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:4.537%;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Systems and Organizations Controls 2 (&#34;SOC2&#34;) and Criminal Justice Information Services (&#x201c;CJIS&#x201d;) requirements could potentially cause obligations that we are not able to completely perform which could adversely affect our reputation and sales, as well as the availability of our solutions in certain markets.</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to the COVID-19 Pandemic</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The COVID-19 pandemic has resulted in a material adverse effect on our business, the future magnitude or duration of which we cannot predict with accuracy.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The COVID-19 pandemic has resulted in a substantial curtailment of business activities worldwide and is causing weakened economic conditions, both in the United States and many countries abroad. As part of intensifying efforts to contain the spread of COVID-19, many companies and state, local and foreign governments have imposed restrictions, including work-from-home policies and travel bans. While some of these companies and jurisdictions have relaxed such restrictions, these restrictions may be put back in place. We expect that the evolving COVID-19 pandemic, associated travel restrictions and social distancing requirements will continue to have an adverse impact on our results of operations. While the ultimate economic impact of the COVID-19 pandemic is highly uncertain, we expect that our business and results of operations, including our revenues, earnings and cash flows from operations, will be adversely impacted for the remainder of 2022, including as a result of:</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Delays in our ability to deploy new &#x201c;go-live&#x201d; miles attributable to company policies or customer policies designed to protect employee health and comply with government restrictions;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Greater funding challenges for our customer base, which may adversely affect customer contract renewals, expansion of existing customer deployments or new customer sales;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Possible disruption to our supply chain caused by distribution and other logistical issues, including delays in manufacturing chips used in our sensors may further delay our ability to deploy new go-live miles or update our currently deployed technology; </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Potential decrease in productivity or availability of our employees or those of our customers or suppliers due to travel bans or restrictions, work-from-home policies and orders, or vaccine requirements.</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">29</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">It is currently not possible to fully predict the magnitude or duration of the COVID-19 pandemic&#x2019;s impact on our business. The extent to which the COVID-19 pandemic impacts our business will depend on numerous evolving factors that we may not be able to control or accurately predict, including without limitation:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the duration and scope of the pandemic, including the impact of new variants with varying degree of resistance to vaccines;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">governmental, business and individuals&#x2019; actions that have been and continue to be taken in response to the pandemic;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the impact of the pandemic on economic activity and actions taken in response;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the effect on our customers and demand for our products and services;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to continue to sell our products and services, including as a result of travel restrictions and people working from home, or restrictions on access to our potential customers;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the ability of our customers to pay for its products and services;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">any closures of our facilities and the facilities of our customers and suppliers; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the degree to which our employees or those of our customers or suppliers become ill with COVID-19.</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The COVID-19 pandemic has impacted our supply chain, which could adversely impact our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> The global supply chain for semiconductor chips, including the type of chips used in the sensors integrated into our gunshot detection solutions, has been disrupted by events related to the COVID-19 pandemic, including business shutdowns and increased demand. As a result, we may experience higher costs to procure the sensors required for our solutions. While we believe these delays are temporary and we have taken steps to mitigate the impact of these delays,  if supply chain issues become worse, we may not be able to deploy, update or repair our gunshot detection solutions as expected. If we are unable to deliver our solutions or update or repair existing assets, or if we incur higher than expected costs to do so, our revenues may not grow as expected and our business may be adversely impacted.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Growth</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If our business does not grow as we expect, or if we fail to manage our growth effectively, our operating results and business prospects would suffer.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our ability to successfully grow our business depends on a number of factors including our ability to:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">accelerate our acquisition of new customers;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">further sell expansions of coverage areas to our existing customers;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">expand our international footprint;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">expand into new vertical markets, such as precision policing, and security solutions;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">increase awareness of the benefits that our solutions offer;  </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">maintain our competitive and technology leadership position; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">manage our business successfully through the COVID-19 pandemic and any resulting impact on economic conditions, including conditions impacting the availability of funding for our public safety solution.  </span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">30</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">As usage of our solutions grows, we will need to continue to make investments to develop and implement new or updated solutions, technologies, security features and cloud-based infrastructure operations. In addition, we will need to appropriately scale our internal business systems and our services organization, including the suppliers of our detection equipment and customer support services, to serve our growing customer base. Any failure of, or delay in, these efforts could impair the performance of our solutions and reduce customer satisfaction.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Further, our growth could increase quickly and place a strain on our managerial, operational, financial and other resources, and our future operating results depend to a large extent on our ability to successfully manage our anticipated expansion and growth. To manage our growth successfully, we will need to continue to invest in sales and marketing, research and development, and general and administrative functions and other areas. We are likely to recognize the costs associated with these investments earlier than receiving some of the anticipated benefits, and the return on these investments may be lower, or may develop more slowly, than we expect, which could adversely affect our operating results.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">If we are unable to manage our growth effectively, we may not be able to take advantage of market opportunities or develop new solutions or upgrades to our existing solutions, satisfy customer requirements, maintain the quality and security of our solutions or execute on our business plan, any of which could have a material adverse effect on our business, operating results and financial condition.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our quarterly results of operations may fluctuate significantly due to a wide range of factors, which makes our future results difficult to predict.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our revenues and results of operations could vary significantly from quarter to quarter as a result of various factors, many of which are outside of our control, including:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the expansion or contraction of our customer base;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the renewal or nonrenewal of subscription agreements with, and expansion of coverage areas by, existing customers;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the size, timing, terms and deployment schedules of our sales to both existing and new customers;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the introduction of products or services that may compete with us for the limited funds available to our customers, and changes in the cost of such products or services;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">changes in our customers&#x2019; and potential customers&#x2019; budgets;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to control costs, including our operating expenses;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to hire, train and maintain our direct sales force;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the timing of satisfying revenues recognition criteria in connection with initial deployment and renewals;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">fluctuations in our effective tax rate;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the impact of the COVID-19 pandemic on business operations and economic conditions; </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the concentration of our revenue in a small number of large contracts with the potential for fluctuations and delays; and </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">general economic and political conditions, both domestically and internationally.</span></div></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Any one of these or other factors discussed elsewhere in this report may result in fluctuations in our revenues and operating results, meaning that quarter-to-quarter comparisons of our revenues, results of operations and cash flows may not necessarily be indicative of our future performance.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">31</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Because of the fluctuations described above, our ability to forecast revenues is limited and we may not be able to accurately predict our future revenues or results of operations. In addition, we base our current and future expense levels on our operating plans and sales forecasts, and our operating expenses are expected to increase in the short term. Accordingly, we may not be able to reduce our costs sufficiently to compensate for an unexpected shortfall in revenues, and even a small shortfall in revenues could disproportionately and adversely affect our financial results for that quarter. The variability and unpredictability of these and other factors could result in our failing to meet or exceed financial expectations for a given period.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Because we generally recognize our subscription revenues ratably over the term of our contract with a customer, fluctuations in sales will not be fully reflected in our operating results until future periods.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our revenues are primarily generated from subscriptions to our solutions. With the exception of a small number of legacy customers, our customers do not have the right to take possession of our equipment or software platform. Revenues from subscriptions to our software platform are recognized ratably over the subscription period beginning on the date that the subscription is made available to the customer, which we refer to as the &#x201c;go-live&#x201d; date. Our agreements with our customers typically range from one to three years. As a result, much of the revenues that we report in each quarter are attributable to agreements entered into during previous quarters. Consequently, a decline in sales, customer renewals or market acceptance of our solutions in any one quarter would not necessarily be fully reflected in the revenues in that quarter and would negatively affect our revenues and profitability in future quarters. This ratable revenues recognition also makes it difficult for us to rapidly increase our revenues through additional sales in any period, as revenues from new customers generally are recognized over the applicable agreement term. Our subscription-based approach may result in uneven recognition of revenues.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We recognize subscription revenues over the term of a subscription agreement. Once we enter into a contract with a customer, there is a delay until we begin recognizing revenues while we survey the coverage areas, obtain any required consents for installation, and install our sensors, which together can take up to several months or more. We begin recognizing revenues from a sale only when all of these steps are complete and the solution is live.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">While most of our customers elect to renew their subscription agreements following the expiration of a term, in some cases, they may not be able to obtain the proper approvals or funding to complete the renewal prior to such expiration. For these customers, we stop recognizing subscription revenues at the end of the current term, even though we may continue to provide services for a period of time while the renewal process is completed. Once the renewal is complete, we then recognize subscription revenues for the period between the expiration of the term of the agreement and the completion of the renewal process.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The variation in the timeline for deploying our solutions and completing renewals may result in fluctuations in our revenues, which could cause our results to differ from projections. Additionally, while we generally invoice for 50% of the contract cost upon a customer&#x2019;s go-live date, our cash flows may be volatile and will not match our revenues recognition.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We have not been profitable recently and may not achieve or maintain profitability in the future.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We reached our first full year of net income in 2019 and had net income in 2020 as well; prior to that, we posted a net loss in each year since inception and we had a net loss of $4.4 million for the year ended December 31, 2021. We had net income of $0.4 million for the three months ended March 31, 2022, and as of March 31, 2022 we had an accumulated deficit of $98.4 million. We are not certain whether we will be able to maintain enough revenues from sales of our solutions to sustain or increase our growth or maintain profitability in the future. We also expect our costs to increase in future periods, which could negatively affect our future operating results if our revenues do not increase. In particular, we expect to continue to expend substantial financial and other resources on:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">sales and marketing, including a significant expansion of our sales organization, both domestically and internationally;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">research and development related to our solutions, including investments in our engineering and technical teams;</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">32</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">acquisition of complementary technologies or businesses, such as our acquisition of HunchLab technology in October 2018, our acquisition of LEEDS in November 2020, and our acquisition of Forensic Logic in January 2022;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">continued international expansion of our business; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">general and administrative expenses.</span></div></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">These investments may not result in increased revenues or growth in our business. If we are unable to increase our revenues at a rate sufficient to offset the expected increase in our costs, our business, operating results and financial position may be harmed, and we may not be able to maintain profitability over the long term. In particular, the COVID-19 pandemic and its impact on economic conditions, including supply chain disruptions, may make it more difficult for us to increase revenues sufficient to maintain profitability. 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 maintain profitability in the future.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may require additional capital to fund our business and support our growth, and our inability to generate and obtain such capital on acceptable terms, or at all, could harm our business, operating results, financial condition and prospects.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We intend to continue to make substantial investments to fund our business and support our growth. In addition, we may require additional funds to respond to business challenges, including the need to develop new features or enhance our solutions, improve our operating infrastructure or acquire or develop complementary businesses and technologies. As a result, in addition to the revenues we generate from our business and our existing cash balances, we may need to engage in additional equity or debt financings to provide the funds required for these and other business endeavors. If we raise additional funds through future issuances of equity or convertible debt securities, our existing stockholders could suffer significant dilution, and any new equity securities we issue could have rights, preferences and privileges superior to those of holders of our common stock. Any debt financing that we may secure in the future could involve restrictive covenants relating to our capital raising activities and other financial and operational matters, which may make it more difficult for us to obtain additional capital and to pursue business opportunities, including potential acquisitions. We may not be able to obtain such additional financing on terms favorable to us, if at all. If we are unable to obtain adequate financing or financing on terms satisfactory to us when we require it, our ability to continue to support our business growth and to respond to business challenges could be significantly impaired, and our business may be adversely affected. In addition, our inability to generate or obtain the financial resources needed may require us to delay, scale back, or eliminate some or all of our operations, which may have a material adverse effect on our business, operating results, financial condition and prospects.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to Our Public Safety Business</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Ongoing social unrest may result in a material adverse effect on our business, the future magnitude or duration of which we cannot predict with accuracy.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We may be adversely affected by ongoing social unrest, protests against racial inequality, protests against police brutality and movements such as &#x201c;Defund the Police&#x201d; or increases in such unrest that may occur in the future, and such unrest may be exacerbated by inaccurate information or negative publicity regarding our solutions. Although the negativity of some of these events have been reduced, some of these events may still directly or indirectly affect police agency budgets and funding available to current and potential customers. Participants in these events may also attempt to create the perception that our solutions are contributing to the &#x201c;problem&#x201d;, which may adversely affect our business and results of operations, including our revenues, earnings and cash flows from operations.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our success depends on maintaining and increasing our sales, which depends on factors we cannot control, including the availability of funding to our customers.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">To date, substantially all of our revenues have been derived from contracts with local governments and their agencies, in particular the police departments of major cities in the United States. To a lesser extent, we also generate revenues from federal agencies, foreign governments and higher education institutions. We believe that the success and</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">33</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">growth of our business will continue to depend on our ability to add new police departments and other government agencies, domestically and internationally, as customers of our public safety solution and new universities, corporate campuses and key infrastructure and transportation centers as customers of our security solutions. Many of our target customers have restricted budgets, such that we are forced to compete with programs or solutions that offer an alternative use of the same funds. A number of factors could cause current and/or potential customers to: delay or refrain from purchasing our solutions, prevent expansion of, or reduce coverage areas and/ or terminate use of our solutions, including:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">decreases or changes in available funding, including tax revenues, budgetary allocations, government grants and other government funding programs;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">potential delays or changes in appropriations or other funding authorization processes;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">changes in fiscal or contracting policies;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">macro-and/or local economic changes that may affect customer funding;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">changes in elected or appointed officials; </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">changes in public perception of the accuracy of our solutions and the appropriate use of our solutions by law enforcement, including as a result of negative publicity; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">changes in laws or public sentiment regarding privacy or surveillance.</span></div></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The COVID-19 pandemic and any associated impact on economic conditions could also cause or exacerbate any of the foregoing. The occurrence of any of the foregoing would impede or delay our ability to maintain or increase the amount of revenues derived from these customers, which could have a material adverse effect on our business, operating results and financial condition.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contracting with government entities can be complex, expensive, and time-consuming.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The procurement process for government entities is in many ways more challenging than contracting in the private sector. We must comply with laws and regulations relating to the formation, administration, performance and pricing of contracts with government entities, including U.S. federal, state and local governmental bodies. These laws and regulations may impose added costs on our business or prolong or complicate our sales efforts, and failure to comply with these laws and regulations or other applicable requirements could lead to claims for damages from our customers, penalties, termination of contracts and other adverse consequences. Any such damages, penalties, disruptions or limitations in our ability to do business with government entities could have a material adverse effect on our business, operating results and financial condition.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Government entities often require highly specialized contract terms that may differ from our standard arrangements. For example, if the federal government provides grants to certain state and local governments for our solutions, and such governments do not continue to receive these grants, then these customers have the ability to terminate their contracts with us without penalty. Government entities often impose compliance requirements that are complicated, require preferential pricing or &#x201c;most favored nation&#x201d; terms and conditions, or are otherwise time-consuming and expensive to satisfy. Compliance with these special standards or satisfaction of such requirements could complicate our efforts to obtain business or increase the cost of doing so. Even if we do meet these special standards or requirements, the increased costs associated with providing our solutions to government customers could harm our margins. Additionally, even once we have secured a government contract, the renewal process can be lengthy and as time-consuming as the initial sale, and we may be providing our service for months past the contract expiration date without certainty if the renewal agreement will be signed or not. During the COVID-19 pandemic and any associated impact on economic conditions, these risks are more pronounced than usual, as government entities struggle with reduced levels of resources related to implications of the pandemic.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Changes in the underlying regulatory conditions, political landscape or required procurement procedures that affect these types of customers could be introduced prior to the completion of our sales cycle, making it more difficult or costly to finalize a contract with a new customer or expand or renew an existing customer relationship. For example, customers</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">34</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">may require a competitive bidding process with extended response deadlines, review or appeal periods, or customer attention may be diverted to other government matters, postponing the consideration of the purchase of our products. Such delays could harm our ability to provide our solutions efficiently and to grow or maintain our customer base.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to further penetrate the public safety market, our revenues may not grow.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our ability to increase revenues will depend in large part on our ability to sell our current and future public safety solutions. For example, our ability to have our ShotSpotter Respond customers renew their annual subscriptions and expand their mileage coverage or purchase and implement our new products such as ShotSpotter Connect and ultimately ShotSpotter Investigate drives our ability to increase our revenues. Most of our ShotSpotter Respond customers begin using our solution in a limited coverage area. Our experience has been, and we expect will continue to be, that after the initial implementation of our solutions, our new customers typically renew their annual subscriptions, and many also choose to expand their coverage area. However, some customers may choose to not renew or reduce their coverage. If existing customers do not choose to renew or expand their coverage areas, or choose to reduce their coverage, our revenues will not grow as we anticipate, or may even decline. During the COVID-19 pandemic and any associated impact on economic conditions, this risk is more pronounced than usual, as our customers&#x2019; priorities may change or they may have greater uncertainty regarding the availability of funding for our solutions as a result.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our ability to further penetrate the market for our public safety solutions depends on several factors, including: maintaining a high level of customer satisfaction and a strong reputation among law enforcement; increasing the awareness of our ShotSpotter solutions and their benefits; the effectiveness of our marketing programs; the availability of funding to our customers, particularly in challenging economic conditions we anticipate from the COVID-19 pandemic; our ability to expand ShotSpotter Investigate; and the costs of our solutions. Some potential public safety customers may be reluctant or unwilling to use our solution for a number of reasons, including concerns about additional costs, unwillingness to expose or lack of concern regarding the extent of gun violence in their community, uncertainty regarding the reliability and security of cloud-based offerings or lack of awareness of the benefits of our public safety solutions. If we are unsuccessful in expanding the coverage of ShotSpotter solutions by existing public safety customers or adding new customers, our revenues and growth prospects would suffer.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our sales cycle can be lengthy, time-consuming and costly, and our inability to successfully complete sales could harm our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our sales process involves educating prospective customers and existing customers about the use, technical capabilities and benefits of our solutions. Prospective customers, especially government agencies, often undertake a prolonged evaluation process that may last up to nine months or more and that typically involves comparing the benefits of our solutions to alternative uses of funds. We may spend substantial time, effort and money on our sales and marketing efforts without any assurance that our efforts will produce any sales.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, in 2011 the Federal Bureau of Investigation&#x2019;s (the &#x201c;FBI&#x201d;) Criminal Justice Information Services Division (the &#x201c;CJIS&#x201d;) issued the CJIS Security Policy, a set of standards for organizations that access criminal justice information (&#x201c;CJI&#x201d;). CJIS developed this policy to better protect the data it delivers to federal, state and local law enforcement agencies, from services like the National Crime Information Center, the Integrated Automated Fingerprint Identification System and the National Incident Based Reporting System. The policy is also designed to protect CJI that comes from sources other than the FBI. As part of the process of implementing ShotSpotter Investigate for a customer,  we will have to complete a rigorous application process to become an approved CJIS compliant vendor.  While this CJIS compliant vendor approval process is based upon the FBI&#x2019;s CJIS Security Policy, a separate process will have to be completed in each state where ShotSpotter Investigate will be implemented.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We are continually improving our security, compliance, and processes. Our general processes are based on the NIST-800-53 standard with some aspects also being controlled by CJIS. In 2022, we will formally audit our processes in a SOC2 type II audit. These initiatives will require fiscal and time investments. Failure to obtain a SOC2 Type 2 audit report or to be compliant with the CJIS standard could adversely affect our reputation and sales, as well as the availability of our solutions in certain markets.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Additionally, events affecting our customers&#x2019; budgets or missions may occur during the sales cycle that could negatively impact the size or timing of a purchase after we have invested substantial time, effort and resources into a potential sale, contributing to more unpredictability in the growth of our business. If we are unable to succeed in closing</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">35</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">sales with new and existing customers, our business, operating results and financial condition will be harmed. During the COVID-19 pandemic and any associated impact on economic conditions, this risk is more pronounced than usual, as our customers&#x2019; priorities may change or they may have greater uncertainty regarding the availability of funding for our solutions as a result.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in the availability of federal funding to support local law enforcement efforts could impact our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Many of our customers rely to some extent on funds from the U.S. federal government in order to purchase and pay for our solutions. Any reduction in federal funding for local law enforcement efforts could result in our customers having less access to funds required to continue, renew, expand or pay for our solutions. Increasing social unrest, protests against racial inequality, protests against police brutality and movements such as &#x201c;Defund the Police&#x201d; have increased in recent years. These events may directly or indirectly affect municipal and police agency budgets, including federal funding available to current and potential customers. If federal funding is reduced or eliminated and our customers cannot find alternative sources of funding to purchase our solutions, our business will be harmed.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Federal stimulus funding or earnings as a result of the COVID-19 pandemic does exist; however, we do not know whether additional stimulus funding will be made available to our existing or potential customers, and many state and local governments anticipate budget shortfalls without additional funding. Further, the allocation of and prioritization of stimulus funds or earnings is uncertain and may change. There is no guarantee that additional funding will be made available to fund our solutions.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Real or perceived false positive gunshot alerts or failure or perceived failure to generate alerts for actual gunfire could adversely affect our customers and their operations, damage our brand and reputation and adversely affect our growth prospects and results of operations.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A false positive alert, in which a non-gunfire incident is reported as gunfire, could result in an unnecessary rapid deployment of police officers and first responders, which may raise unnecessary fear among the occupants of a community or facility, and may be deemed a waste of police and first responder resources. A failure to alert law enforcement or security personnel of actual gunfire (false negative) could result in a less rapid or no response by police officers and first responders, increasing the probability of injury or loss of life. Both false positive alerts and the failure to generate alerts of actual gunfire (false negative) may result in customer dissatisfaction, potential loss of confidence in our solutions, and potential liabilities to customers or other third parties, any of which could harm our reputation and adversely impact our business and operating results. Additionally, third parties may misunderstand or misrepresent what constitutes a false positive or false negative and generate negative publicity regarding our solutions. For example, a May 2021 report by the MacArthur Center for Justice appears to argue that any incident that does not result in a police report is a false positive. The perception of a false positive alert or of a failure to generate an alert, even where our customers understand that our solutions were utilized correctly, could lead to negative publicity or harm the public perception of our solutions, which could harm our reputation and adversely impact our business and operating results.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The nature of our business may result in undesirable press coverage or other negative publicity.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our solutions are used to assist law enforcement and first responders in the event that gunfire is detected. Even when our solutions work as intended, the incidents detected by our solutions could lead to injury, loss of life and other negative outcomes, and such events are likely to receive negative publicity. If we fail to detect an incident, or if we detect an incident, such as a terrorist attack or active-shooter event, but the response time of law enforcement or first responders is not sufficiently quick to prevent injury, loss of life, property damage or other adverse outcomes, we may receive negative media attention. At times, our data or information concerning our techniques and processes may become a matter of public record due to legal or other obligations (for example, as a result of public-records requests or subpoenas to provide information or to testify in court), and we may receive negative media attention as a result.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our reputation and our business may be harmed by inaccurate reporting which could have an adverse impact on new sales or renewals or expansions of coverage areas by existing customers, which would adversely impact our financial results and future prospects. For example, in July 2021, VICE Media, LLC (&#34;VICE&#34;) falsely accused us of illegal behavior, which has had a material adverse effect on our business. We are pursuing a defamation lawsuit against VICE, but the outcome of that litigation cannot be assured.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">36</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The role of our solutions and our personnel in criminal prosecutions or other court proceedings may result in unfavorable judicial rulings that generate negative publicity or otherwise adversely impact new sales or renewals or expansions of coverage areas by existing customers, which would adversely impact our financial results and future prospects. For instance, a court ruling limiting or excluding evidence related to information gathered through our systems or to the operation of our systems in a judicial proceeding could harm public perceptions of our business and solutions.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Economic uncertainties or downturns, or political changes, could limit the availability of funds available to our customers and potential customers, which could materially adversely affect our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Economic uncertainties or downturns could adversely affect our business and operating results. Negative conditions in the general economy both in the United States and abroad, including conditions resulting from changes in gross domestic product growth, inflation, financial and credit market fluctuations, political deadlock, natural catastrophes, warfare, geopolitical tensions, such as Russia's recent incursion into Ukraine, terrorist attacks and infectious disease outbreaks, such as the COVID-19 pandemic, could cause a decrease in funds available to our customers and potential customers and negatively affect the rate of growth of our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">These economic conditions may make it extremely difficult for our customers and us to forecast and plan future budgetary decisions or business activities accurately, and they could cause our customers to reevaluate their decisions to purchase our solutions, which could delay and lengthen our sales cycles or result in cancellations of planned purchases. Furthermore, during challenging economic times or as a result of political changes, our customers may tighten their budgets and face constraints in gaining timely access to sufficient funding or other credit, which could result in an impairment of their ability to make timely payments to us. In turn, we may be required to increase our allowance for doubtful accounts, which would adversely affect our financial results.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We cannot predict the timing, strength or duration of any economic slowdown, instability or recovery, generally or within any particular industry, or the impact of political changes. If the economic conditions of the general economy or industries in which we operate worsen from present levels, or if recent political changes result in less funding being available to purchase our solutions, our business, operating results, financial condition and cash flows could be adversely affected.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">New competitors may enter the market for our public safety solution.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">If cities and other government entities increase their efforts to reduce gun violence or our solutions gain visibility in the market, companies could decide to enter into the public safety solution market and thereby increase the competition we face. In addition to other gunshot detection products, we also compete with other technologies and solutions targeting our public safety customers&#x2019; resources for law enforcement and crime prevention. Our competitors could benefit from the disclosure of our data or information concerning our techniques and processes due to legal or other obligations (for example, as a result of public-records requests or subpoenas to provide information or to testify in court). Because there are several possible uses for these limited budgetary resources, if we are not able to compete successfully for these limited resources, our business may not grow as we expect, which could adversely impact our revenues and operating results.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concerns regarding privacy and government-sponsored surveillance may deter customers from purchasing our solutions.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Governmental agencies and private citizens have become increasingly sensitive to real or perceived government or third-party surveillance and may wrongly believe that our outdoor sensors allow customers to listen to private conversations and monitor private citizen activity. Our sensors are not designed for &#x201c;live listening&#x201d; and are triggered only by loud impulsive sounds that may likely be gunfire. However, perceived privacy concerns may result in negative media coverage and efforts by private citizens to persuade municipalities, educational institutions or other potential customers not to purchase our precision policing solutions for their communities, campuses or facilities. In addition, laws may exist or be enacted to address such concerns that could impact our ability to deploy our solutions. For example, the City of Toronto, Canada decided against using ShotSpotter solutions because the Ministry of the Attorney General of Ontario indicated that it may compromise Section 8 of Canada&#x2019;s Charter of Rights and Freedoms, which relates to unreasonable search and seizure. If customers choose not to purchase our solutions due to privacy or surveillance concerns, then the market for our solutions may develop more slowly than we expect, or it may not achieve the growth potential we expect, any of which would adversely affect our business and financial results.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">37</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Strategic and Operational Risks</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to sell our solutions into new markets, our revenues may not grow.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Part of our growth strategy depends on our ability to increase sales of our security and public safety solutions in markets outside of the United States. We are focused on expanding the sales of these solutions into new markets, but customers in these new markets may not be receptive or sales may be delayed beyond our expectations, causing our revenue growth and growth prospects to suffer. During the COVID-19 pandemic and any associated impact on economic conditions, this risk is more pronounced than usual.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our ability to successfully face these challenges depends on several factors, including increasing the awareness of our solutions and their benefits; the effectiveness of our marketing programs; the costs of our solutions; our ability to attract, retain and effectively train sales and marketing personnel; and our ability to develop relationships with communication carriers and other partners. If we are unsuccessful in developing and marketing our solutions into new markets, new markets for our solutions might not develop or might develop more slowly than we expect, either of which would harm our revenues and growth prospects.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The failure of our solutions to meet our customers&#x2019; expectations could harm our reputation, which may have a material adverse effect on our business, operating results and financial condition.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Promoting and demonstrating the utility of our solutions as useful, reliable and important tools for law enforcement and security personnel is critical to the success of our business. Our ability to secure customer renewals, expand existing customer coverage areas, and enter into new customer contracts is dependent on our reputation and our ability to deliver our solutions effectively. We believe that our reputation among police departments using ShotSpotter solutions is particularly important to our success. Our ability to meet customer expectations will depend on a wide range of factors, including:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to continue to offer high-quality, innovative and accurate precision policing solutions;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to maintain continuous gunshot detection monitoring during high outdoor-noise activity periods such as New Year&#x2019;s Day, the Fourth of July and Cinco de Mayo, and Carnival for international deployments;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to maintain high customer satisfaction, including meeting our service level agreements standards;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the perceived value and quality of our solutions;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">differences in opinion regarding the metrics that measure the success of our solutions;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to successfully communicate the unique value proposition of our solutions;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">our ability to provide high-quality customer support;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">any misuse or perceived misuse of our solutions;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">interruptions, delays or attacks on our platform;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">litigation- or regulation-related developments; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">damage to or degradation of our sensors or sensor network by third parties.</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Interruptions or performance problems associated with our technology and infrastructure may adversely affect our business and results of operations.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We have in the past experienced, and may in the future experience, performance issues due to a variety of factors, including infrastructure changes, human or software errors, intentional or accidental damage to our technology (including sensors), website or third-party hosting disruptions or capacity constraints due to a number of potential causes including technical failures, natural disasters or security attacks. If our security is compromised, our platform is unavailable or our</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">38</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">users are unable to receive our alerts or otherwise communicate with our IRC reviewers, within a reasonable amount of time or at all, our business could be negatively affected. In some instances, we may not be able to identify the cause or causes of these performance problems within an acceptable period of time.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, our IRC department personnel operate either remotely or out of our offices. Any interruption or delay in service from our IRC, such as from a communications or power outage, could limit our ability to deliver our solutions. In addition, it may become increasingly difficult to maintain and improve the performance of our solutions, especially during peak usage times as the capacity of our IRC operations reaches its limits. If there is an interruption or delay in service from our IRC operations and a gunshot is detected but not reviewed in the allotted time, our software will flag the incident for off-line review. This may result in delayed notifications to our customers and as a result, we could experience a decline in customer satisfaction with our solutions and our reputation and growth prospects could be harmed.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We expect to continue to make significant investments to maintain and improve the performance of our solutions. To the extent that we do not effectively address capacity constraints, upgrade our systems as needed and continually develop our technology to accommodate actual and anticipated changes in technology, our business, operating results and financial condition may be adversely affected.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We rely on wireless carriers to provide access to wireless networks through which our acoustic sensors communicate with our cloud-based backend and with which we provide our notification services to customers, and any interruption of such access would impair our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We rely on wireless carriers, mainly AT&amp;T and Verizon, to provide access to wireless networks for machine-to-machine data transmissions, which are an integral part of our services. Our wireless carriers may suspend wireless service to expand, maintain or improve their networks. These wireless carriers perform routine maintenance and periodic software and firmware updates that may damage our sensors or make them inoperable. Any suspension or other interruption of services would adversely affect our ability to provide our services to our customers and may adversely affect our reputation. In addition, the terms of our agreements with these wireless carriers provide that either party can cancel or terminate the agreement for convenience. If one of our wireless carriers were to terminate its agreement with us, we would need to source a different wireless carrier and/or modify our equipment during the notice period in order to minimize disruption in the performance of our solutions. Price increases or termination by our wireless carriers or changes to existing contract terms could have a material adverse effect on our business, operating results and financial condition.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Natural disasters, infectious disease outbreaks, power outages or other events impacting us or our customers could harm our operating results and financial condition.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We recognize revenue on a subscription basis as our solutions are provided to our customers over time. If our services are disrupted due to natural disasters, infectious disease outbreaks, power outages or other events that we cannot control, we may not be able to continue providing our solutions as expected. For example, during the COVID-19 pandemic, certain of our employees, including our IRC reviewers, are being required to work remotely, which may negatively impact productivity of our employees and effectiveness of our solutions.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">When we stop providing coverage, we also stop recognizing revenues as a result of the affected subscription agreement. If we are forced to discontinue our services due to natural disasters, power outages and other events outside of our control, our revenues may decline, which would negatively impact our results of operations and financial condition. In addition, we may face liability for damages caused by our sensors in the event of heavy weather, hurricanes or other natural disasters. We may also incur additional costs to repair or replace installed sensor networks damaged by heavy weather, hurricanes or other natural disasters.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Any of our facilities or operations may be harmed or rendered inoperable by natural or man-made disasters, including earthquakes, tornadoes, hurricanes, wildfires, floods, nuclear disasters, acts of terrorism or other criminal activities, infectious disease outbreaks, such as COVID-19, and power outages, which may render it difficult or impossible for us to operate our business for some period of time or decrease productivity. For example, our primary IRC and a data center that hosts some of our customer services are located in the San Francisco Bay Area, a region known for seismic activity. Our facilities would likely be costly to repair or replace, and any such efforts would likely require substantial time. In addition, like many companies, we have implemented a work from home policy as a result of the COVID-19 pandemic. This policy may negatively impact productivity of our employees.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">   </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">39</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Any disruptions in our operations could negatively impact our business and operating results and harm our reputation. In addition, we may not carry business insurance or may not carry sufficient business insurance to compensate for losses that may occur. Any such losses or damages could have a material adverse effect on our business, operating results and financial condition. In addition, the facilities of significant vendors, including the manufacturer of our proprietary acoustic sensor, may be harmed or rendered inoperable by such natural or man-made disasters, which may cause disruptions, difficulties or material adverse effects on our business.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The incurrence of debt may impact our financial position and subject us to additional financial and operating restrictions.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On September 27, 2018, we entered into a senior secured revolving credit facility with Umpqua Bank (the &#x201c;Umpqua Credit Agreement&#x201d;), which we increased to $20.0 million in August 2020 and which we intend to use for general working capital purposes. As of March 31, 2022, we had no outstanding amounts due on nor any usage of the Umpqua Credit Agreement.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Under the Umpqua Credit Agreement, we are subject to various negative covenants that limit, subject to certain exclusions, our ability to incur indebtedness, make loans, invest in or secure the obligations of other parties, pay or declare dividends, make distributions with respect to our securities, redeem outstanding shares of our stock, create subsidiaries, materially change the nature of our business, enter into related party transactions, engage in mergers and business combinations, the acquisition or transfer of our assets outside of the ordinary course of business, grant liens or enter into collateral relationships involving company assets or reincorporate, reorganize or dissolve the company. These covenants could adversely affect our financial health and business and future operations by, among other things:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">making it more difficult to satisfy our obligations, including under the terms of the Umpqua Credit Agreement;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">limiting our ability to refinance our debt on terms acceptable to us or at all;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">limiting our flexibility to plan for and adjust to changing business and market conditions and increasing our vulnerability;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">limiting our ability to use our available cash flow to fund future acquisitions, working capital, business activities, and other general corporate requirements; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">limiting our ability to obtain additional financing for working capital to fund growth or for general corporate purposes, even when necessary to maintain adequate liquidity.</span></div></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We are also required to maintain certain financial covenants tied to our leverage, interest charges and profitability. Our ability to meet such covenants (those negative covenants discussed in the preceding paragraph) or other restrictions can be affected by events beyond our control, and our failure to comply with the financial and other covenants would be an event of default under the Umpqua Credit Agreement. If an event of default under the Umpqua Credit Agreement, has occurred and is continuing, the outstanding borrowings thereunder could become immediately due and payable, and we would then be required to cash collateralize any letters of credit then outstanding, and the lender could refuse to permit additional borrowings under the facility. In December 2021, we obtained a waiver for the financial covenant tied to our profitability through June 30, 2022. We cannot assure you that we would have sufficient assets to repay those borrowings and, if we are unable to repay those amounts, the lender could proceed against the collateral granted to them to secure such indebtedness. We have pledged substantially all of our assets as collateral, and an event of default would likely have a material adverse effect on our business.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The competitive landscape for our security solutions is evolving.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The market for security solutions for university campuses, corporate campuses and transportation and key infrastructure centers includes a number of available options, such as video surveillance and increased human security presence. Because there are several possible uses of funds for security needs, we may face increased challenges in demonstrating or distinguishing the benefits of ShotSpotter SecureCampus and ShotSpotter SiteSecure. In particular, while we have seen growing interest in our security solutions, interest in the indoor gunshot detection offering was limited, and as a result, in June 2018, we made the strategic decision to cease indoor coverage as part of our service offering.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">40</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Failure to effectively develop and expand our sales and marketing capabilities could harm our ability to increase our customer base and achieve broader market acceptance of our solutions.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">To increase total customers and customer coverage areas and to achieve broader market acceptance of our solutions, we will need to expand our sales and marketing organization and increase our business development resources, including the vertical and geographic distribution of our sales force and our teams of account executives focused on new accounts and responsible for renewal and growth of existing accounts.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our business requires that our sales personnel have particular expertise and experience in working with law enforcement agencies, other government organizations and higher education institutions. We may not achieve revenue growth from expanding our sales force if we are unable to hire, develop and retain talented sales personnel with appropriate experience, if our new sales personnel are unable to achieve desired productivity levels in a reasonable period of time or if our sales and marketing programs are not effective.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the COVID-19 pandemic, this risk is more pronounced than usual, as our sales and marketing organization has been unable to travel and meetings with our current and potential customers have been more difficult to conduct.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our strategy includes pursuing acquisitions, and our inability to successfully integrate newly-acquired technologies, assets or businesses may harm our financial results. Future acquisitions of technologies, assets or businesses, which are paid for partially or entirely through the issuance of stock or stock rights, could dilute the ownership of our existing stockholders.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We acquired LEEDS in November 2020 and Forensic Logic in January 2022 in order to enhance our precision policing platform. We will continue to evaluate and consider potential strategic transactions, including acquisitions of, or investments in, businesses, technologies, services, products and other assets in the future. We also may enter into relationships with other businesses to expand our platform and applications, which could involve preferred or exclusive licenses, additional channels of distribution, discount pricing or investments in other companies.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We believe that part of our continued growth will be driven by acquisitions of other companies or their technologies, assets, businesses and teams. Acquisitions in the future that we complete will give rise to risks, including:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">incurring higher than anticipated capital expenditures and operating expenses;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">failing to assimilate the operations and personnel or failing to retain the key personnel of the acquired company or business;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">failing to integrate the acquired technologies, or incurring significant expense to integrate acquired technologies, into our platform and applications;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">disrupting our ongoing business;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">diverting our management&#x2019;s attention and other company resources;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">failing to maintain uniform standards, controls and policies;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">incurring significant accounting charges;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">impairing relationships with our customers and employees;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">finding that the acquired technology, asset or business does not further our business strategy, that we overpaid for the technology, asset or business or that we may be required to write off acquired assets or investments partially or entirely;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">failing to realize the expected synergies of the transaction;</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">41</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">being exposed to unforeseen liabilities and contingencies that were not identified prior to acquiring the company; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">being unable to generate sufficient revenues and profits from acquisitions to offset the associated acquisition costs.</span></div></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Fully integrating an acquired technology, asset or business into our operations may take a significant amount of time. We may not be successful in overcoming these risks or any other problems encountered with the acquisition of and integration of LEEDS, Forensic Logic, or any future acquisitions. To the extent that we do not successfully avoid or overcome the risks or problems related to any such acquisitions, our results of operations and financial condition could be harmed. Acquisitions also could impact our financial position and capital requirements or could cause fluctuations in our quarterly and annual results of operations. Acquisitions could include significant goodwill and intangible assets, which may result in future impairment charges that would reduce our stated earnings. We may incur significant costs in our efforts to engage in strategic transactions and these expenditures may not result in successful acquisitions.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We expect that the consideration we might pay for any future acquisitions of technologies, assets, businesses or teams could include stock, rights to purchase stock, cash or some combination of the foregoing. If we issue stock or rights to purchase stock in connection with future acquisitions, net income per share and then-existing holders of our common stock may experience dilution.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">The nature of our business exposes us to inherent liability risks.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our gunshot detection solutions are designed to communicate real-time alerts of gunfire incidents to police officers and first responders. Due to the nature of such applications, we are potentially exposed to greater risks of liability for employee acts or omissions or system failures than may be inherent in other businesses. Although substantially all of our customer agreements contain provisions limiting our liability to our customers, we cannot be certain that these limitations will be enforced or that the costs of any litigation related to actual or alleged omissions or failures would not have a material adverse effect on us even if we prevail. Further, certain of our insurance policies and the laws of some states may limit or prohibit insurance coverage for punitive or certain other types of damages or liability arising from gross negligence, or other issues, such as damages caused due to installation of our sensors on buildings owned by third parties, and we cannot assure you that we are adequately insured against the risks that we face.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Real or perceived errors, failures or bugs in our software could adversely affect our operating results and growth prospects.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Because our software is complex, undetected errors, failures or bugs may occur. Our software is often installed and used with different operating systems, system management software, and equipment and networking configurations, which may cause errors or failures of our software or other aspects of the computing environment into which it is deployed. In addition, deployment of our software into computing environments may expose undetected errors, compatibility issues, failures or bugs in our software. Despite our testing, errors, failures or bugs may not be found in our software until it is released to our customers. Moreover, our customers could incorrectly implement or inadvertently misuse our software, which could result in customer dissatisfaction and adversely impact the perceived utility of our products as well as our brand. Any of these real or perceived errors, compatibility issues, failures or bugs in our software could result in negative publicity, reputational harm, loss of or delay in market acceptance of our software, loss of competitive position or claims by customers for losses sustained by them. In any such event, we may be required, or may choose, for customer relations or other reasons, to expend additional resources in order to correct the problem. Alleviating any of these problems could require significant expenditures of our capital and other resources and could cause interruptions or delays in the use of our solutions, which could cause us to lose existing or potential customers and could adversely affect our operating results and growth prospects.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Interruptions or delays in service from our third-party providers could impair our ability to make our solutions available to our customers, resulting in customer dissatisfaction, damage to our reputation, loss of customers, limited growth and reduction in revenues.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We currently use third-party data center hosting facilities to host certain components of our solutions. Our operations depend, in part, on our third-party providers&#x2019; abilities to protect these facilities against damage or interruption from natural disasters, power or communications failures, cyber incidents, criminal acts and similar events. In the event that any of our</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">42</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">third-party facility arrangements is terminated, or if there is a lapse of service or damage to a facility, we could experience service interruptions in our solutions as well as delays and additional expenses in arranging new facilities and services. The COVID-19 pandemic and its associated travel bans and work-from-home policies may increase the likelihood of service interruptions or cyber incidents at these data center hosting facilities. Any changes in third-party service levels at our data centers or any errors, defects, disruptions, cyber incidents or other performance problems with our solutions could harm our reputation.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Any damage to, or failure of, the systems of the communications providers with whom our data center provider contracts could result in interruptions to our solutions. The occurrence of spikes in usage volume, natural disasters, cyber incidents, acts of terrorism, vandalism or sabotage, closure of a facility without adequate notice or other unanticipated problems could result in lengthy interruptions in the availability of our services. Problems faced by these network providers, or with the systems by which they allocate capacity among their customers, including us, could adversely affect the experience of our customers. The COVID-19 pandemic and its associated shelter-in-place orders, travel bans and work-from-home policies may increase the likelihood of these problems with such network providers and their capacity allocation systems. Interruptions in our services might cause us to issue refunds to customers and subject us to potential liability.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Further, our insurance policies may not adequately compensate us for any losses that we may incur in the event of damage or interruption, and therefore the occurrence of any of the foregoing could subject us to liability, cause us to issue credits to customers or cause customers not to renew their subscriptions for our applications, any of which could materially adversely affect our business.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If our security measures or those of our customers or third-party providers are compromised, or if our data or data of our customers is otherwise compromised, our solutions may be perceived as not being secure, our customers may be harmed and may curtail or cease their use of our solutions, our reputation may be damaged and we may incur significant liabilities.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our operations involve the storage and transmission of proprietary, confidential, and sensitive data, such as gunfire incident data, including date, time, address and GPS coordinates, occurring in our customer&#x2019;s coverage area. Additionally, our systems read, write, store and transfer information from third parties including criminal justice information. Access to some of this data is contingent on complying with federal and applicable state security policies, which requires background checks, the use of encryption and compliance with other information security policies.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Security incidents, whether as a result of third-party action, employee or customer error, technology impairment or failure, malfeasance or criminal activity, could result in unauthorized access to, or loss or unauthorized disclosure of, data which could result in; inability to obtain approvals to sell our products, litigation expenses or damages, indemnity and other contractual obligations and other possible liabilities, including but not limited to government fines and penalties and mitigation expenses, as well as negative publicity, which could damage our reputation, impair our sales and harm our customers and our business.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cyber incidents, malicious internet-based activity, and online and offline fraud are prevalent and continue to increase generally, and providers of cloud-based services have been targeted. Threats to our information systems and data, and those of third parties upon which we rely, come from a variety of sources. In addition to traditional computer &#x201c;hackers,&#x201d; threat actors, personnel (such as through theft or misuse), sophisticated nation-states and nation-state-supported actors also engage in attacks. We and the third parties upon which we rely may be subject to a variety of evolving threats, including but not limited to social-engineering attacks (including through phishing attacks), malicious code (such as viruses and worms), malware (including as a result of advanced persistent threat intrusions), denial-of-service attacks (such as credential stuffing), personnel misconduct or error, and supply-chain attacks. Ransomware attacks are becoming increasingly prevalent and severe and can lead to significant interruptions in our operations, loss of data and income, reputational harm, and diversions of funds. Extortion payments may alleviate the negative impact of a ransomware attack, but we may be unwilling or unable to make such payments due to, for example, applicable laws or regulations prohibiting such payments.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">If third parties with whom we work, such as vendors or developers, violate applicable laws or our security policies, such violations may also put our systems and data at risk and could in turn have an adverse effect on our business. In addition, such a violation could expose sensitive data including; criminal justice information, and other data we are contractually obliged to keep confidential. The COVID-19 pandemic may increase the likelihood of such cyber incidents.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">43</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We may be unable to anticipate or prevent techniques used to obtain unauthorized access or to sabotage systems because such techniques change frequently and often are not detected until after an incident has occurred. As we increase our customer base and our brand becomes more widely known and recognized, third parties may increasingly seek to compromise our security controls or gain unauthorized access to customer data or other sensitive information. Further, because of the nature of the services that we provide to our customers, we may be a unique target for attacks.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Many governments have enacted laws requiring companies to notify individuals of data security incidents or unauthorized transfers involving certain types of personal information. In addition, some of our customers contractually require notification of any data security incident. Accordingly, security incidents experienced by our competitors, by our customers or by us may lead to public disclosures, which may lead to widespread negative publicity and significant costs. Any security compromise in our industry, whether actual or perceived, could harm our reputation, erode customer confidence in the effectiveness of our security measures, negatively impact our ability to attract new customers, cause existing customers to elect not to renew their subscriptions or subject us to third-party lawsuits, regulatory fines or other action or liability, which could materially and adversely affect our business and operating results. Further, the costs of compliance with notification laws and contractual obligations may be significant and any requirement that we provide such notifications as a result of an actual or alleged compromise could have a material and adverse effect on our business. Our contracts may not contain limitations of liability, and even where they do, there can be no assurance that limitations of liability in our contracts are sufficient to protect us from liabilities, damages, or claims related to our data privacy and security incidents.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">While we maintain general liability insurance coverage and coverage for errors or omissions, we cannot assure you that such coverage would be adequate or would otherwise protect us from liabilities or damages with respect to claims alleging compromise or loss of data, or that such coverage will continue to be available on acceptable terms or at all.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We rely on the cooperation of customers and third parties to permit us to install our ShotSpotter sensors on their facilities, and failure to obtain these rights could increase our costs or limit the effectiveness of our ShotSpotter Respond solution.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our ShotSpotter Respond solution requires us to deploy ShotSpotter sensors in our customer coverage areas, which typically entails the installation of approximately 20 to 25 sensors per square mile. The ShotSpotter sensors are mounted on city facilities and third-party buildings, and occasionally on city or utility-owned light poles, and installing the sensors requires the consent of the property owners, which can be time-consuming to obtain and can delay deployment. Generally, we do not pay a site license fee in order to install our sensors, and our contractual agreements with these facility owners provide them the right to revoke permission to use their facility with notice of generally 60 days.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">To the extent that required consents delay our ability to deploy our solutions or facility owners do not grant permission to use their facilities, revoke previously granted permissions, or require us to pay a site license fee in order to install our sensors, our business may be harmed. If we were required to pay a site license fee in order to install sensors, our deployment expenses would increase, which would impact our gross margins. If we cannot obtain a sufficient number of sensor mounting locations that are appropriately dispersed in a coverage area, the effectiveness of our ShotSpotter Respond solution would be limited, and we may need to reduce the coverage area of the solution. During the COVID-19 pandemic, our installation team has been unable to travel at times. Additionally, both our installation team and our third-party providers are facing greater challenges in obtaining permissions to install and in installing our sensors. To the extent our deployments are delayed for these reasons, we may not be able to meet our service level requirements, any of which could result in customer dissatisfaction or have a material adverse impact on our reputation, our business and our financial results.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we fail to offer high-quality customer support, our business and reputation may suffer.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We offer customer support 24 hours a day, seven days a week, as well as training on best practices, forensic expertise and expert witness services. Providing these services requires that our personnel have specific experience, knowledge and expertise, making it more difficult for us to hire qualified personnel and to scale up our support operations. The importance of high-quality customer support will increase as we expand our business and pursue new customers. We may be unable to respond quickly enough to accommodate short-term increases in customer demand for support services or scale our services if our business grows. Increased customer demand for these services, without corresponding revenues, could increase our costs and harm our operating results. If we do not help our customers use applications within our solutions</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">44</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">and provide effective ongoing support, our ability to sell additional applications to, or to retain, existing customers may suffer and our reputation with existing or potential customers may be harmed.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our reliance on wireless carriers will require updates to our technology, and making such updates could result in disruptions in our service or increase our costs of operations.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Approximately 90% of our installed ShotSpotter sensors use fourth-generation Long-Term Evolution (&#x201c;LTE&#x201d;) wireless technology and 10% use third-generation (&#x201c;3G&#x201d;) cellular communications. Our U.S. wireless carriers have advised us that they will discontinue their 3G services in the future and our ShotSpotter sensors will not be able to transmit on these networks. As a result, we are upgrading the sensors that use 3G cellular communications at no additional cost to our customers prior to the discontinuation of 3G services. As our wireless carriers phase out their 3G services or make changes to their spectrum allocation, we may experience reduced service performance, which may require us to complete upgrading our 3G sensors sooner than planned. If we are unable to complete these upgrades, we could experience disruptions in our ability to provide our solutions, which would adversely impact our business. These sensor replacements require significant capital expenditures, which may reduce our gross margins and also divert management&#x2019;s attention and other important resources away from our customer service and sales efforts for new customers.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In the future, we may not be able to successfully implement new technologies or adapt existing technologies to changing market demands. If we are unable to adapt timely to changing technologies, market conditions or customer preferences, our business, operating results and financial condition could be materially and adversely affected.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We rely on a limited number of suppliers and contract manufacturers, and our proprietary ShotSpotter sensors are manufactured by a single contract manufacturer.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We rely on a limited number of suppliers and contract manufacturers. In particular, we use a single manufacturer, with which we have no long-term contract and from which we purchase on a purchase-order basis, to produce our proprietary ShotSpotter sensors. Our reliance on a sole contract manufacturer increases our risks since we do not currently have any alternative or replacement manufacturers, and we do not maintain a high volume of inventory. In the event of an interruption in our supply from our sole contract manufacturer, we may not be able to develop alternate or secondary sources without incurring material additional costs and substantial delays. Furthermore, these risks could materially and adversely affect our business if one of our contract manufacturers is impacted by a natural disaster or other interruption at a particular location because each of our contract manufacturers produces our products from a single location. Although each of our contract manufacturers has alternative manufacturing locations, transferring manufacturing to another location may result in significant delays in the availability of our sensors. Also, many standardized components used broadly in our sensors are manufactured in significant quantities in concentrated geographic regions, particularly in Greater China. As a result, protracted regional crises, issues with manufacturing facilities, or the COVID-19 pandemic, could lead to eventual shortages of necessary components. It could be difficult, costly and time consuming to obtain alternative sources for these components, or to change product designs to make use of alternative components. In addition, difficulties in transitioning from an existing supplier to a new supplier could create delays in component availability that would have a significant impact on our ability to fulfill orders for our products.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Many of the key components used to manufacture our proprietary ShotSpotter sensors also come from limited or sole sources of supply. Our contract manufacturer generally purchases these components on our behalf, and we do not have any long-term arrangements with our suppliers. We are therefore subject to the risk of shortages and long lead times in the supply of these components and the risk that suppliers discontinue or modify components used in our products. In addition, the lead times associated with certain components are lengthy and preclude rapid changes in quantities and delivery schedules. Currently, the supply of chips required for our sensors is being adversely impacted by disruptions to the global supply chain and we are not able to procure the required number of sensors on our desired timeline as a result. Developing alternate sources of supply for these components may be time-consuming, difficult, and costly, and we or our suppliers may not be able to source these components on terms that are acceptable to us, or at all, which may undermine our ability to fill our orders in a timely manner.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">For example, for our ShotSpotter sensors, it may take a significant amount of time to identify a contract manufacturer that has the capability and resources to build the sensors to our specifications. Identifying suitable suppliers and contract manufacturers is an extensive process that requires us to become satisfied with their quality control, technical capabilities, responsiveness and service, financial stability, regulatory compliance, and labor and other ethical practices. Accordingly,</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">45</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the loss of any key supplier or contract manufacturer could adversely impact our business, operating results and financial condition.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our solutions use third-party software and services that may be difficult to replace or cause errors or failures of our solutions that could lead to a loss of customers or harm to our reputation and our operating results.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We license third-party software and depend on services from various third parties for use in our solutions. In the future, such software or services may not be available to us on commercially reasonable terms, or at all. Any loss of the right to use any of the software or services could result in decreased functionality of our solutions until equivalent technology is either developed by us or, if available from another provider, is identified, obtained and integrated, which could harm our business. In addition, any errors or defects in or failures of the third-party software or services 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></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We will need to maintain our relationships with third-party software and service providers, and obtain from such providers software and services that do not contain any errors or defects. Any failure to do so could adversely impact our ability to deliver effective products to our customers and could harm our operating results.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we do not or cannot maintain the compatibility of our platform with applications that our customers use, our business could suffer.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Some of our customers choose to integrate our solutions with certain other systems used by our customers, such as real-time LEEDS or Forensic Logic platforms or computer-aided dispatch systems. The functionality and popularity of our solutions depend, in part, on our ability to integrate our solutions into these systems. Providers of these systems may change the features of their technologies, restrict our access to their applications or alter the terms governing use of their applications in an adverse manner. Such changes could functionally limit or terminate our ability to use these technologies in conjunction with our solutions, which could negatively impact our customer service and harm our business. If we fail to integrate our solutions with applications that our customers use, we may not be able to offer the functionality that our customers need, and our customers may not renew their agreements, which would negatively impact our ability to generate revenues and adversely impact our business.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We are in the process of expanding our international operations, which exposes us to significant risks.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We currently operate in limited number of locations outside the United States. A key component to our business strategy is to expand our international operations to increase our revenues from customers outside of the United States as part of our growth strategy. Operating in international markets requires significant resources and management attention and will subject us to regulatory, economic and political risks in addition to those we already face in the United States. In addition, we will need to invest time and resources in understanding the regulatory framework and political environments of our potential customers overseas in order to focus our sales efforts. Because such regulatory and political considerations are likely to vary across jurisdictions, this effort will require additional time and attention from our sales team and could lead to a sales cycle that is longer than our typical process for sales in the United States. We also may need to hire additional employees and otherwise invest in our international operations in order to reach new customers. Because of our limited experience with international operations as well as developing and managing sales in international markets, our international expansion efforts may be delayed or may not be successful.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, we face and will continue to face risks in doing business internationally that could adversely affect our business, including:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the potential impact of currency exchange fluctuations;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the need to comply with local data residency requirements;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the availability and reliability of local data centers and internet bandwidth providers;</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">46</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the difficulty of staffing and managing international operations and the increased operations, travel, shipping and compliance costs associated with having customers in numerous international locations;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">potentially greater difficulty collecting accounts receivable and longer payment cycles;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the availability and cost of coverage by wireless carriers in international markets;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">higher or more variable costs associated with wireless carriers and other service providers;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the need to offer customer support in various languages;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">challenges in understanding and complying with local laws, regulations and customs in foreign jurisdictions, including laws regarding privacy and government surveillance;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">export controls and economic sanctions administered by the Department of Commerce Bureau of Industry and Security and the Treasury Department&#x2019;s Office of Foreign Assets Control;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">compliance with various anti-bribery and anti-corruption laws such as the Foreign Corrupt Practices Act and United Kingdom Bribery Act of 2010;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">tariffs and other non-tariff barriers, such as quotas and local content rules;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">more limited protection for our intellectual property in some countries;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">adverse or uncertain tax consequences as a result of international operations;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">currency control regulations, which might restrict or prohibit our conversion of other currencies into U.S. dollars;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">restrictions on the transfer of funds;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">deterioration of political relations between the United States and other countries; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">political or social unrest, global pandemics such as the COVID-19 pandemic or economic instability in a specific country or region in which we operate, which could have an adverse impact on our operations in that location.</span></div></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Also, we expect that due to costs related to our international expansion efforts and the increased cost of doing business internationally, we will incur higher costs to secure sales to international customers than the comparable costs for domestic customers. As a result, our financial results may fluctuate as we expand our operations and customer base worldwide.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our failure to manage any of these risks successfully could harm our international operations, and adversely affect our business, operating results and financial condition.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We are dependent on the continued services and performance of our senior management and other key personnel, the loss of any of whom could adversely affect our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our future success depends in large part on the continued contributions of our senior management and other key personnel. In particular, the leadership of key management personnel is critical to the successful management of our company, the development of our products, and our strategic direction. We also depend on the contributions of key technical personnel.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We do not maintain &#x201c;key person&#x201d; insurance for any member of our senior management team or any of our other key employees. Our senior management and key personnel are all employed on an at-will basis, which means that they could</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">47</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">terminate their employment with us at any time, for any reason and without notice. The loss of any of our key management personnel could significantly delay or prevent the achievement of our development and strategic objectives and adversely affect our business.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If we are unable to attract, integrate and retain additional qualified personnel, including top technical talent, our business could be adversely affected.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our future success depends in part on our ability to identify, attract, integrate and retain highly skilled technical, managerial, sales and other personnel. We face intense competition for qualified individuals from numerous other companies, including other software and technology companies, many of whom have greater financial and other resources than we do. Some of these characteristics may be more appealing to high-quality candidates than those we have to offer. In addition, new hires often require significant training and, in many cases, take significant time before they achieve full productivity. We may incur significant costs to attract and retain qualified personnel, including significant expenditures related to salaries and benefits and compensation expenses related to equity awards, and we may lose new employees to our competitors or other companies before we realize the benefit of our investment in recruiting and training them. Moreover, new employees, especially those who work from home, may not be or become as productive as we expect, as we may face challenges in adequately or appropriately integrating them into our workforce and culture. If we are unable to attract, integrate and retain suitably qualified individuals who are capable of meeting our growing technical, operational and managerial requirements, on a timely basis or at all, our business will be adversely affected.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Volatility or lack of positive performance in our stock price may also affect our ability to attract and retain our key employees. Many of our senior management personnel and other key employees have become, or will soon become, vested in a substantial amount of stock or stock options. Employees may be more likely to leave us if the shares they own or the shares underlying their vested options have significantly appreciated in value relative to the original purchase prices of the shares or the exercise prices of the options, or, conversely, if the exercise prices of the options that they hold are significantly above the market price of our common stock. If we are unable to appropriately incentivize and retain our employees through equity compensation, or if we need to increase our compensation expenses in order to appropriately incentivize and retain our employees, our business, operating results and financial condition would be adversely affected.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Legal and Regulatory Risks</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We and our use of outdoor acoustic sensors, are subject to governmental regulation and other legal obligations, particularly related to privacy, data protection and information security, and our actual or perceived failure to comply with such obligations could harm our business. Compliance with such laws could impair our efforts to maintain and expand our customer base, and thereby decrease our revenues.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our outdoor sensors are acoustic devices that are designed to recognize impulsive sounds that are likely to be gunfire. ShotSpotter sensors do not use high gain, directional or other specialized microphones, or have the ability to live stream audio. Typically, sounds, noises or voices captured on the secure sensors are cached temporarily but are written over and permanently deleted within 30 hours. When a sensor is triggered by a loud impulsive sound, it creates what we refer to as a potential gunshot &#x201c;incident&#x201d; that contains a recording, which includes no more than one second before the incident and one second after the incident. This incident audio snippet is preserved indefinitely for potential evidentiary use. We also use information collected to support, expand and improve our software algorithms as well as our gunfire detection and notification methods.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our sensors are not designed or tuned to capture human voices, but are often installed in densely populated urban areas and it is possible they could pick up a human voice that is audible at the same time as the loud impulsive sound. Human voices are not impulsive and do not typically trigger the sensors, and unless accompanied by an impulsive sound no audio snippet would be transmitted out of the sensor and preserved as an incident audio snippet. Any human voice not associated with a loud impulsive sound would be temporarily cached on the sensor for 30 hours and would then be written over and permanently deleted. Information derived from loud impulsive sounds (&#x201c;incidents&#x201d;) and the associated audio snippet of the loud impulsive sounds are provided to our customers. Audio shared with our customers is limited, by both our technology and our privacy policies, to the audio snippet containing the incident.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our handling and storage of data is subject to a variety of local, state, federal and foreign laws and regulations, including restrictions on audio monitoring and the collection, use, storage and disclosure of personal information. In the</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">48</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">United States, such laws include federal and state consumer protection laws under which the Federal Trade Commission and state attorneys general have imposed standards for the collection, use, disclosure and security of personal information.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, states are beginning to adopt and consider proposals for new comprehensive privacy laws and regulations. While these laws vary, they generally require companies to implement privacy policies and security measures, permit users to access, correct and delete personal information, inform individuals of security breaches that affect their personal information, and, in some cases, obtain individuals&#x2019; consent to use personal information for certain purposes. For example, California enacted the California Consumer Privacy Act of 2018 (&#34;CCPA&#34;), which took effect on January 1, 2020. The CCPA provides for civil penalties for violations, as well as a private right of action for statutory damages in connection with certain data breaches. Further, in November 2020, California voters passed the California Privacy Rights Act (&#34;CPRA&#34;), which will expand the CCPA when it takes effect on January 1, 2023. Among other things, the CPRA will introduce data minimization and storage limitation requirements and create a new regulatory agency to implement and enforce the law. Virginia and Colorado have similarly enacted comprehensive privacy laws, the Consumer Data Protection Act and the Colorado Privacy Act, which are similar to the CCPA and CPRA in many respects. Legislative proposals to adopt comprehensive privacy laws in other states are under consideration.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, foreign laws and regulations pertaining to privacy, data protection and information security &#x2013; including in South Africa, Europe, Brazil and Japan &#x2013; have becoming increasingly stringent in recent years and legislative proposals for similar requirements are being considered in several other major foreign economies. Many of these countries are also beginning to impose or increase restrictions on the transfer of personal information to other countries. Data protection restrictions in these countries may limit the services we can offer in them, which in turn may limit demand for our services in such countries.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Many of the new and proposed laws and regulations concerning privacy, data protection and information security are in their early stages, and we cannot yet determine how these laws and regulations may be interpreted or impact our business. The lack of a clear and universal standard for handling and protecting such information means that these obligations may be interpreted and applied in a manner that is inconsistent from one jurisdiction to another and may conflict with other requirements or our practices. Any failure or perceived failure by us to comply with privacy or security laws, policies, legal obligations or industry standards or any security incident that results in the unauthorized access to or disclosure of personal information or customer data may result in governmental enforcement actions, litigation, fines and penalties and/or adverse publicity, and could cause our customers to lose trust in us, which could have a material adverse effect on our reputation and on our business, financial condition and results of operations.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Some proposed laws or regulations concerning privacy, data protection and information security are in their early stages, and we cannot yet determine how these laws and regulations may be interpreted nor can we determine the impact these proposed laws and regulations, may have on our business. Such proposed laws and regulations may require companies to implement privacy and security policies, permit users to access, correct and delete personal information stored or maintained by such companies, inform individuals of security breaches that affect their personal information, and, in some cases, obtain individuals&#x2019; consent to use personal information for certain purposes. In addition, a foreign government could require that any personal information collected in a country not be disseminated outside of that country, and we may not be currently equipped to comply with such a requirement. Our failure to comply with federal, state and foreign data privacy laws and regulators could harm our ability to successfully operate our business and pursue our business goals.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be subject to additional obligations to collect and remit certain taxes, and we may be subject to tax liability for past activities, which could harm our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">State, local and foreign jurisdictions have differing rules and regulations governing sales, use, value added and other taxes, and these rules and regulations are subject to varying interpretations that may change over time, particularly with respect to software-as-a-service products like our solutions. Further, these jurisdictions&#x2019; rules regarding tax nexus are complex and vary significantly. If one or more jurisdictions were to assert that we have failed to collect taxes for sales of our solutions, we could face the possibility of tax assessments and audits. A successful assertion that we should be collecting additional sales, use, value added or other taxes in those jurisdictions where we have not historically done so and do not accrue for such taxes could result in substantial tax liabilities and related penalties for past sales or otherwise harm our business and operating results.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">49</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our ability to use our net operating losses to offset future taxable income may be subject to certain limitations.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">As of March 31, 2022, we had federal net operating loss carryforwards (&#x201c;NOLs&#x201d;) of approximately $78.4</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">million, of which $73.5 million will begin to expire in 2027, if not utilized. The remaining net operating losses of $4.9 million can be carried forward indefinitely under the Tax Cuts and Jobs Act. As of March 31, 2022, we also had state NOLs of approximately $50.1 million, which will expire, if not utilized, between 2022 through 2039. These federal and state NOLs may be available to reduce future income subject to income taxes. In general, under Section 382 of the Internal Revenue Code of 1986, as amended, a corporation that undergoes an &#x201c;ownership change&#x201d; is subject to limitations on its ability to utilize its NOLs to offset future taxable income. Past or future changes in our stock ownership, some of which are outside of our control, may have resulted or could result in an ownership change. State NOLs generated in one state cannot be used to offset income generated in another state. In addition, at the state level, there may be periods during which the use of NOLs is suspended or otherwise limited, such as the 2020 temporary suspension of the ability to use California NOLs and limitation on the use of certain tax credits to offset California income and tax liabilities, which could accelerate or permanently increase state taxes owed.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be subject to litigation for a variety of claims or to other legal requests, which could adversely affect our results of operations, harm our reputation or otherwise negatively impact our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We may be subject to litigation for a variety of claims arising from our normal business activities. These may include claims, suits, and proceedings involving labor and employment, wage and hour, commercial and other matters. The outcome of any litigation, regardless of its merits, is inherently uncertain. Any claims and lawsuits, and the disposition of such claims and lawsuits, could be time-consuming and expensive to resolve, divert management attention and resources, and lead to attempts on the part of other parties to pursue similar claims. Any adverse determination related to litigation could adversely affect our results of operations, harm our reputation or otherwise negatively impact our business. In addition, depending on the nature and timing of any such dispute, a resolution of a legal matter could materially affect our future operating results, our cash flows or both.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">An unfavorable outcome on any litigation matters could require us to pay substantial damages, or, in connection with any intellectual property infringement claims, could require us to pay ongoing royalty payments or could prevent us from selling certain of our products. As a result, a settlement of, or an unfavorable outcome on, any of the matters referenced above or other litigation matters could have a material adverse effect on our business, operating results, financial condition and cash flows.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We, or our customers, may be subject to requests for our data or information concerning our techniques and processes, pursuant to state or federal law (for example, public-records requests or subpoenas to provide information or to testify in court). This data and information, some of which we may deem to be confidential or trade secrets, could therefore become a matter of public record and also become accessible by competitors, which could negatively impact our business.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Changes in financial accounting standards may cause adverse and unexpected revenues fluctuations and impact our reported results of operations.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The accounting rules and regulations that we must comply with are complex and subject to interpretation by the Financial Accounting Standards Board, the Securities and Exchange Commission and various bodies formed to promulgate and interpret appropriate accounting principles. In addition, many companies&#x2019; accounting disclosures are being subjected to heightened scrutiny by regulators and the public. Further, the accounting rules and regulations are continually changing in ways that could impact our financial statements.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Changes to accounting principles or our accounting policies on our financial statements going forward are difficult to predict, could have a significant effect on our reported financial results, and could affect the reporting of transactions completed before the announcement of the change. In addition, were we to change our critical accounting estimates, including the timing of recognition of subscription and professional services revenues and other revenues sources, our results of operations could be significantly impacted.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">50</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Failure to protect our intellectual property rights could adversely affect our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our success depends, in part, on our ability to protect proprietary methods and technologies that we develop or license under patent and other intellectual property laws of the United States, as well as our brands, so that we can prevent others profiting from them. We rely on a combination of contractual and intellectual property rights, including non-disclosure agreements, patents, trade secrets, copyrights and trademarks, to establish and protect our intellectual property rights in our names, services, innovations, methodologies and related technologies. If we fail to protect our intellectual property rights adequately, our competitors might gain access to our technology and our business might be adversely affected.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">As of March 31, 2022 we had 40 issued patents directed to our technologies, 33 in the United States, four in the European Union and one each in Israel, Brazil and Mexico. The issued patents expire on various dates from 2022 to 2034. We also license one patent from a third party, which expires in 2023. We have patent applications pending for examination in the United States, Europe, Mexico and Brazil, but we cannot guarantee that these patent applications will be granted. We also license one other U.S. patent from one third party. The patents that we own or those that we license from others (including those that may be issued in the future) may not provide us with any competitive advantages or may be challenged by third parties.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">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. Even if issued, there can be no assurance that these patents will adequately protect our intellectual property, as the legal standards relating to the validity, enforceability and scope of protection of patent and other intellectual property rights are uncertain.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Any patents that are issued may subsequently be invalidated or otherwise limited, allowing other companies to develop offerings that compete with ours, which could adversely affect our competitive business position, business prospects and financial condition. In addition, issuance of a patent does not guarantee that we have a right to practice the patented invention. Patent applications in the United States are typically not published until 18 months after their earliest priority date or, in some cases, not at all, and publications of discoveries in industry-related literature lag behind actual discoveries. We cannot be certain that third parties do not have blocking patents that could be used to prevent us from marketing or practicing our software or technology.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Effective patent, trademark, copyright and trade secret protection may not be available to us in every country in which our software is available. The laws of some foreign countries may not be as protective of intellectual property rights as those in the United States (in particular, some foreign jurisdictions do not permit patent protection for software), and mechanisms for enforcement of intellectual property rights may be inadequate. Additional uncertainty may result from changes to intellectual property legislation enacted in the United States, including the recent America Invents Act, or to the laws of other countries and from interpretations of the intellectual property laws of the United States and other countries by applicable courts and agencies. Accordingly, despite our efforts, we may be unable to prevent third parties from infringing upon or misappropriating our intellectual property.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We rely in part on trade secrets, proprietary know-how and other confidential information to maintain our competitive position. Although we endeavor to enter into non-disclosure agreements with our employees, licensees and others who may have access to this information, we cannot assure you that these agreements or other steps we have taken will prevent unauthorized use, disclosure or reverse engineering of our technology. Moreover, third parties may independently develop technologies or products that compete with ours, and we may be unable to prevent this competition. Third parties also may seek access to our trade secrets, proprietary know-how and other confidential information through legal measures (for example, public-records requests or subpoenas to provide information or to testify in court) and it could be expensive to defend against those requests. Disclosure of our trade secrets, proprietary know-how and other confidential information could negatively impact our business.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We might be required to spend significant resources to monitor and protect our intellectual property rights. We may initiate claims or litigation against third parties for infringement of our proprietary rights or to establish the validity of our proprietary rights. We may also engage in litigation in response to public-records requests or subpoenas that seek our intellectual property. Litigation also puts our patents at risk of being invalidated or interpreted narrowly and our patent applications at risk of not issuing. Additionally, we may provoke third parties to assert counterclaims against us. We may not prevail in any lawsuits that we initiate or other legal proceedings in which we participate, and the damages or other remedies awarded, if any, may not be commercially viable. Any litigation, whether or not resolved in our favor, could</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">51</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">result in significant expense to us and divert the efforts of our technical and management personnel, which may adversely affect our business, operating results, financial condition and cash flows.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We may be subject to intellectual property rights claims by third parties, which are extremely costly to defend, could require us to pay significant damages and could limit our ability to use certain technologies.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Companies in the software and technology industries, including some of our current and potential competitors, own large numbers of patents, copyrights, trademarks and trade secrets and frequently enter into litigation based on allegations of infringement or other violations of intellectual property rights. In addition, many of these companies have the capability to dedicate substantially greater resources to enforce their intellectual property rights and to defend claims that may be brought against them. The litigation may involve patent holding companies or other adverse patent owners that have no relevant product revenues and against which our patents may therefore provide little or no deterrence. We may have previously received, and may in the future receive, notices that claim we have misappropriated, misused, or infringed other parties&#x2019; intellectual property rights, and, to the extent we gain greater market visibility, we face a higher risk of being the subject of intellectual property infringement claims.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">There may be third-party intellectual property rights, including issued or pending patents that cover significant aspects of our technologies or business methods. Any intellectual property claims, with or without merit, could be very time-consuming, could be expensive to settle or litigate and could divert our management&#x2019;s attention and other resources. These claims could also subject us to significant liability for damages, potentially including treble damages if we are found to have willfully infringed patents or copyrights. These claims could also result in our having to stop using technology found to be in violation of a third party&#x2019;s rights. We might be required to seek a license for the intellectual property, which may not be available on a timely basis, on reasonable terms or at all. We also may be required to modify our products, services, internal systems or technologies. Even if a license were available, we could be required to pay significant royalties, which would increase our operating expenses. As a result, we may be required to develop alternative non-infringing technology, which could require significant effort and expense. If we cannot license or develop technology for any infringing aspect of our business, we would be forced to limit or stop sales of our software and may be unable to compete effectively. Any of these results would adversely affect our business, operating results, financial condition and cash flows.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our use of open source software could subject us to possible litigation.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A portion of our technologies incorporates open source software, and we expect to continue to incorporate open source software into our platform in the future. Few of the licenses applicable to open source software have been interpreted by courts, and their application to the open source software integrated into our proprietary technology platform may be uncertain. If we fail to comply with these licenses, then pursuant to the terms of these licenses, we may be subject to certain requirements, including requirements that we make available the source code for our software that incorporates the open source software. We cannot assure you that we have not incorporated open source software in our software in a manner that is inconsistent with the terms of the applicable licenses or our current policies and procedures. If an author or other third party that distributes such open source software were to allege that we had not complied with the conditions of one or more of these licenses, we could incur significant legal expenses defending against such allegations. Litigation could be costly for us to defend, have a negative effect on our operating results and financial condition or require us to devote additional research and development resources to change our technology platform.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Risks Related to the Ownership of Our Common Stock</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our stock price may be volatile or may decline regardless of our operating performance, resulting in substantial losses for investors.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The market price of our common stock has fluctuated and may continue to fluctuate significantly in response to numerous factors, many of which are beyond our control, including the factors listed below and other factors described in this &#x201c;Risk Factors&#x201d; section:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">actual or anticipated fluctuations in our operating results;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the financial projections we may provide to the public, any changes in these projections or our failure to meet these projections;</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">52</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">failure of securities analysts to initiate or maintain coverage of our company, changes in financial estimates by any securities analysts who follow our company, or our failure to meet these estimates or the expectations of investors;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ratings changes by any securities analysts who follow our company;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">changes in the availability of federal funding to support local law enforcement efforts, or local budgets;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">announcements by us of significant technical innovations, acquisitions, strategic partnerships, joint ventures or capital commitments;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">changes in operating performance and stock market valuations of other software companies generally;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">price and volume fluctuations in the overall stock market, including as a result of trends in the economy as a whole;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">changes in our board of directors or management;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">sales of large blocks of our common stock, including sales by our executive officers, directors and significant stockholders;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">lawsuits threatened or filed against us;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">novel and unforeseen market forces and trading strategies, as well as short sales, hedging and other derivative transactions involving our capital stock;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">the impact of the COVID-19 pandemic;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">general economic conditions in the United States and abroad;  </span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">other events or factors, including those resulting from pandemics, protests against racial inequality, protests against police brutality and movements such as &#x201c;Defund the Police&#x201d;, war, incidents of terrorism or responses to these events; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">negative publicity, including false information, regarding our solutions.</span></div></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, stock markets have experienced extreme price and volume fluctuations that have affected and continue to affect the market prices of equity securities of many software companies. Stock prices of many software companies have fluctuated in a manner unrelated or disproportionate to the operating performance of those companies. Broad market and industry fluctuations, as well as general economic, political, regulatory and market conditions, may negatively impact the market price of our common stock. In the past, stockholders have instituted securities action litigation following periods of market volatility. If we were to become involved in securities litigation, it could subject us to substantial costs, divert resources and the attention of management from our business and adversely affect our business, operating results, financial condition and cash flows.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Substantial future sales of shares of our common stock could cause the market price of our common stock to decline.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Certain holders of our shares of common stock have the right, subject to various conditions and limitations, to include their shares of our common stock in registration statements relating to our securities. If the offer and sale of these shares are registered, they will be freely tradable without restriction under the Securities Act of 1933, as amended (the &#34;Securities Act&#34;). In addition, non-affiliates have the ability to sell shares of our common stock in the open market or through block trades without being subject to volume restrictions under Rule 144 of the Securities Act. In addition, in the future we may issue common stock or other securities if we need to raise additional capital. The number of new shares of our common stock issued in connection with raising additional capital could constitute a material portion of the then outstanding shares of our common stock. In the event a large number of shares of common stock are sold in the public market, such share sales could reduce the trading price of our common stock.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">53</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock repurchases could increase the volatility of the trading price of our common stock and diminish our cash reserves, and we cannot guarantee that our stock repurchase program will enhance long-term stockholder value.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In May 2019, our board of directors adopted a stock repurchase program for up to $15 million of our common stock, of which $13.6 million had been utilized as of March 31, 2022, leaving $1.4 million remaining. Although our board of directors has authorized the stock repurchase program, it does not obligate us to repurchase any specific dollar amount or number of shares, there is no expiration date for the stock  repurchase program, and the stock repurchase program may be modified, suspended or terminated at any time and for any reason. The timing and actual number of shares repurchased under the stock repurchase program will depend on a variety of factors, including the acquisition price of the shares, our liquidity position, general market and economic conditions, legal and regulatory requirements and other considerations. Our ability to repurchase shares may also be limited by restrictive covenants in our existing credit agreement or in future borrowing arrangements we may enter into from time to time.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Repurchases of our shares could increase the volatility of the trading price of our stock, which could have a negative impact on the trading price of our stock. Similarly, the future announcement of the termination or suspension of the stock repurchase program, or our decision not to utilize the full authorized repurchase amount under the stock repurchase program, could result in a decrease in the trading price of our stock. In addition, the stock repurchase program could have the impact of diminishing our cash reserves, which may impact our ability to finance our growth, complete acquisitions and execute our strategic plan. There can be no assurance that any share repurchases we do elect to make will enhance stockholder value because the market price of our common stock may decline below the levels at which we repurchased our shares. Although our stock repurchase program is intended to enhance long-term stockholder value, we cannot guarantee that it will do so and short-term stock price fluctuations could reduce the effectiveness of the stock repurchase program.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">If securities or industry analysts do not publish research or reports about our business, or publish negative reports about our business, our share price and trading volume could decline.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The trading market for our common stock depends in part on the research and reports that securities or industry analysts publish about us or our business, our market and our competitors. We do not have any control over these analysts. If one or more of the analysts who cover us downgrade our shares of common stock or change their opinion of our shares of common stock, our share price would likely decline. If one or more of these analysts cease coverage of our company or fail to regularly publish reports on us, we could lose visibility in the financial markets, which could cause our share price or trading volume to decline.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We are an &#x201c;emerging growth company&#x201d; and we cannot be certain if the reduced disclosure requirements applicable to emerging growth companies will make our common stock less attractive to investors.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We are an &#x201c;emerging growth company,&#x201d; as defined in the Jumpstart Our Business Startups Act (the &#x201c;JOBS Act&#x201d;), and we take advantage of certain exemptions from various reporting requirements that are applicable to other public companies that are not &#x201c;emerging growth companies&#x201d; including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act, reduced disclosure obligations regarding executive compensation in our periodic reports and proxy statements, and exemptions from the requirements of holding a nonbinding advisory vote on executive compensation and stockholder approval of any golden parachute payments not previously approved. We will remain an &#x201c;emerging growth company&#x201d; for up to five years, although we will cease to be an &#x201c;emerging growth company&#x201d; upon the earliest of (i) December 31, 2022, (ii) the last day of the first fiscal year in which our annual gross revenues are $1.07 billion or more, (iii) the date on which we have, during the previous rolling three-year period, issued more than $1 billion in non-convertible debt securities or (iv) the date on which we are deemed to be a &#x201c;large accelerated filer&#x201d; as defined in the Exchange Act. We cannot predict if investors will find our common stock less attractive or our company less comparable to certain other public companies because we will rely on these exemptions. If some investors find our common stock less attractive as a result, there may be a less active trading market for our common stock and our stock price may be more volatile.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We incur substantial costs as a result of being a public company.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">As a public company, we are incurring significant levels of legal, accounting, insurance and other expenses that we did not incur as a private company. We are subject to the reporting requirements of the Exchange Act, the Sarbanes-Oxley Act, the Dodd-Frank Act, the listing requirements of the Nasdaq Capital Market, and other applicable securities rules and</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">54</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">regulations. Compliance with these rules and regulations increases our legal and financial compliance costs, makes some activities more difficult, time-consuming or costly and increases demand on our systems and resources as compared to when we operated as a private company. The Exchange Act requires, among other things, that we file annual, quarterly and current reports with respect to our business and operating results. The Sarbanes-Oxley Act requires, among other things, that we maintain effective disclosure controls and procedures and internal control over financial reporting. In order to maintain and, if required, improve our disclosure controls and procedures and internal control over financial reporting to meet this standard, significant resources and management oversight may be required. As a result, management&#x2019;s attention may be diverted from other business concerns, which could adversely affect our business and operating results. Although we have already hired additional corporate employees to comply with these requirements, we may need to hire more corporate employees in the future or engage outside consultants, which would increase our costs and expenses.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, changing laws, regulations and standards relating to corporate governance and public disclosure are creating uncertainty for public companies, increasing legal and financial compliance costs and making some activities more time-consuming. These laws, regulations and standards are subject to varying interpretations, in many cases due to their lack of specificity, and, as a result, their application in practice may evolve over time as new guidance is provided by regulatory and governing bodies. This could result in continuing uncertainty regarding compliance matters and higher costs necessitated by ongoing revisions to disclosure and governance practices. We intend to invest resources to comply with evolving laws, regulations and standards, and this investment may result in increased general and administrative expenses and a diversion of management&#x2019;s time and attention from revenue-generating activities to compliance activities. If our efforts to comply with new laws, regulations and standards differ from the activities intended by regulatory or governing bodies due to ambiguities related to their application and practice, regulatory authorities may initiate legal proceedings against us and our business may be adversely affected.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">As a result of disclosure of information in this report and in the filings that we are required to make as a public company, our business, operating results and financial condition have become more visible, which has resulted in, and may in the future result in threatened or actual litigation, including by competitors and other third parties. If any such claims are successful, our business, operating results and financial condition could be adversely affected, and even if the claims do not result in litigation or are resolved in our favor, these claims, and the time and resources necessary to resolve them, could divert the resources of our management and adversely affect our business, operating results and financial condition.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">We do not intend to pay dividends for the foreseeable future.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">We have never declared or paid any cash dividends on our common stock and do not intend to pay any cash dividends in the foreseeable future. We anticipate that we will retain all of our future earnings for use in the development of our business and for general corporate purposes. Any determination to pay dividends in the future will be at the discretion of our board of directors. Accordingly, investors must rely on sales of their common stock after price appreciation, which may never occur, as the only way to realize any future gains on their investments.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Anti-takeover provisions in our charter documents and under Delaware law could make an acquisition of our company more difficult, limit attempts by our stockholders to replace or remove our current management and limit the market price of our common stock.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Provisions in our certificate of incorporation and bylaws may have the effect of delaying or preventing a change of control or changes in our management. Our certificate of incorporation and bylaws include provisions that:</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">establish a classified board of directors so that not all members of our board of directors are elected at one time;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">permit the board of directors to establish the number of directors and fill any vacancies and newly-created directorships;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">provide that directors may only be removed for cause;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">require super-majority voting to amend some provisions in our certificate of incorporation and bylaws;</span></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">55</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">authorize the issuance of &#x201c;blank check&#x201d; preferred stock that our board of directors could use to implement a stockholder rights plan;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">eliminate the ability of our stockholders to call special meetings of stockholders;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">prohibit stockholder action by written consent, which requires all stockholder actions to be taken at a meeting of our stockholders;</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">provide that the board of directors is expressly authorized to make, alter or repeal our bylaws; and</span></div></div>
  <div style="margin-left:4.537%;text-indent:0.0%;display:flex;margin-top:12.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:0.0pt;min-width:3.333%;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:3.491405046981553%;">&#x2022;</span><div style="display:inline;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">establish advance notice requirements for nominations for election to our board of directors or for proposing matters that can be acted upon by stockholders at annual stockholder meetings.</span></div></div>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In addition, we are governed by the provisions of Section 203 of the Delaware General Corporation Law, which generally prohibits stockholders owning 15% or more of our outstanding voting stock from merging or otherwise combining with us for a period of three years following the date on which the stockholder became a 15% stockholder without the consent of our board of directors. 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, and otherwise discourage management takeover attempts.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Our certificate of incorporation contains exclusive forum provisions that could limit our stockholders&#x2019; ability to obtain a favorable judicial forum for disputes with us.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to our certificate of incorporation, unless we consent in writing to the selection of an alternative forum, the Court of Chancery of the State of Delaware is the sole and exclusive forum for (1) any derivative action or proceeding brought on our behalf, (2) any action asserting a claim of breach of a fiduciary duty owed by any of our directors, officers or other employees to us or our stockholders, (3) any action asserting a claim arising pursuant to any provision of the Delaware General Corporation Law, our certificate of incorporation or our bylaws or (4) any action asserting a claim governed by the internal affairs doctrine. Our certificate of incorporation further provides that any person or entity purchasing or otherwise acquiring any interest in shares of our common stock is deemed to have notice of and consented to the foregoing provision.</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Our certificate of incorporation further provides that the federal district courts of the United States of America will be the exclusive forum for resolving any complaint asserting a cause of action arising under the Securities Act. These forum selection clauses in our certificate of incorporation may limit our stockholders&#x2019; ability to obtain a favorable judicial forum for disputes with us. While the Delaware courts have determined that such choice of forum provisions are facially valid and several state trial courts have enforced such provisions and required that suits asserting Securities Act claims be filed in federal court, there is no guarantee that courts of appeal will affirm the enforceability of such provisions and a stockholder</span><span style="background-color:rgba(0,0,0,0);color:rgba(33,37,41,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> may nevertheless seek to bring a claim in a venue other than those designated in the exclusive forum provisions. In such instance, we would expect to vigorously assert the validity and enforceability of the exclusive forum provisions of our certificate of incorporation. This may </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">require significant additional costs associated with resolving such action in other jurisdictions and there can be no assurance that the provisions will be enforced by a court in those other jurisdictions. If a court were to find either exclusive forum provision in our certificate of incorporation to be inapplicable or unenforceable in an action, we may incur further significant additional costs associated with litigating Securities Act claims in state court, or both state and federal court, which could seriously harm our business, financial condition, results of operations, and prospects.</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">56</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.0829166666666667;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;" id="item_2_unregistered_2"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 2. Unregistered Sales of Eq</span><span id="item_2_unregistered"></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">uity Securities and Use of Proceeds</span></p>
  <p style="margin-left:4.533%;text-indent:-3.618%;padding-left:3.333%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(a)  Unregistered Sales of Equity Securities</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On January 3, 2022, we issued 464,540 shares of common stock equal in value to $14.3 million based on the closing price on the date of acquisition, to members of Forensic Logic, as partial consideration in connection with the acquisition of 100% of the membership interests in Forensic Logic.  The offer and issuance of the shares of common stock were deemed to be exempt from registration under the Securities Act in reliance on Section 4(a)(2) of the Securities Act promulgated thereunder as a transaction by an issuer not involving a public offering.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">  </span></p>
  <p style="margin-left:4.533%;text-indent:-3.618%;padding-left:3.333%;font-size:10.0pt;margin-top:12.0pt;line-height:1.1164583333333333;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(b) Use of Proceeds</span></p>
  <p style="margin-left:4.533%;text-indent:-3.618%;padding-left:3.333%;font-size:10.0pt;margin-top:6.0pt;line-height:1.1164583333333333;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">None.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="margin-left:4.533%;text-indent:-3.618%;padding-left:3.333%;font-size:10.0pt;margin-top:12.0pt;line-height:1.1164583333333333;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(c)  Issuer Purchases of Equity Securities</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth for the indicated period, share repurchases of our common stock:</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:34.54%;"></td>
    <td style="width:1.585%;"></td>
    <td style="width:0.996%;"></td>
    <td style="width:12.623%;"></td>
    <td style="width:0.996%;"></td>
    <td style="width:1.585%;"></td>
    <td style="width:1.381%;"></td>
    <td style="width:12.548%;"></td>
    <td style="width:0.996%;"></td>
    <td style="width:1.585%;"></td>
    <td style="width:0.996%;"></td>
    <td style="width:12.634%;"></td>
    <td style="width:0.996%;"></td>
    <td style="width:1.585%;"></td>
    <td style="width:1.381%;"></td>
    <td style="width:12.58%;"></td>
    <td style="width:0.996%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Total Number of<br />Shares<br />Purchased</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);top:-3.752pt;white-space:pre-wrap;font-weight:bold;font-size:5.36pt;font-family:Times New Roman;position:relative;min-width:fit-content;">(1)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Average Price<br />Paid per Share</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Total Number of<br />Shares Purchased<br />as part of Publicly<br />Announced<br />Program</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Dollar Value of<br />Shares that May<br />Yet Be Purchased<br />Under the<br />Program<br />(in thousands)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2022 - January 31, 2022</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3,074</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">February 1, 2022- February 28, 2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#x2014;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3,074</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">March 1, 2022- March 31, 2022</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57,623</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28.34</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57,623</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,442</span></p></td>
    <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57,623</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28.34</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57,623</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.0829166666666667;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:4.936%;"></td>
    <td style="width:95.064%;"></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(1)</span></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">All repurchases were made as part of our publicly announced stock repurchase program. In May 2019, we announced that our board of directors approved a stock repurchase program, under which we were authorized to repurchase up to $15 million of our common stock. The repurchase program has no expiration date and may be modified, suspended or discontinued at any time. For further information regarding our stock repurchase program, see Note 10, Stock Repurchase Program, of the accompanying notes to the condensed consolidated financial statements.</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.0829166666666667;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;" id="item_6_exhibits"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Item 6. E</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">xhibits</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.0829166666666667;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A list of exhibits is set forth below.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="exhibit_index"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibit</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> Index</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:8.962%;"></td>
    <td style="width:0.801%;"></td>
    <td style="width:35.676%;"></td>
    <td style="width:0.876%;"></td>
    <td style="width:9.474%;"></td>
    <td style="width:0.876%;"></td>
    <td style="width:10.981%;"></td>
    <td style="width:1.004%;"></td>
    <td style="width:7.958%;"></td>
    <td style="width:0.876%;"></td>
    <td style="width:12.818%;"></td>
    <td style="width:0.876%;"></td>
    <td style="width:8.823%;"></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibit</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibit</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="7" style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Incorporated by Reference</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Filed</span></p></td>
   </tr>
   <tr style="height:8.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(0,0,0,1);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Number</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(255,255,255,0.01);padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(0,0,0,1);padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Description</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(255,255,255,0.01);padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(0,0,0,1);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Form</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(255,255,255,0.01);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(0,0,0,1);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">File No.</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(255,255,255,0.01);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(0,0,0,1);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibit</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(255,255,255,0.01);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(0,0,0,1);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Filing Date</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(255,255,255,0.01);padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;border-bottom:0.250pt solid rgba(0,0,0,1);padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Herewith</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;&#160;&#160;3.1</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="https://www.sec.gov/Archives/edgar/data/1351636/000110465917038940/a17-15147_1ex3d1.htm" style="-sec-extract:exhibit"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Amended and Restated Certificate of Incorporation</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8-K</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">001-38107</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3.1</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">June 13, 2017</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;&#160;&#160;3.2</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/1351636/000110465917038940/a17-15147_1ex3d2.htm" style="-sec-extract:exhibit"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Amended and Restated Bylaws</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8-K</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">001-38107</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3.2</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">June 13, 2017</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
   </tr>
   <tr>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;31.1</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="ssti-ex31_1.htm"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Certification of Principal Executive Officer Pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;31.2</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="ssti-ex31_2.htm"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Certification of Principal Financial Officer Pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;32.1*</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><a href="ssti-ex32_1.htm"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Certification of Principal Executive Officer and Principal Financial Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></a></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;101.INS</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">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></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;101.SCH</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Inline XBRL Taxonomy Extension Schema Document</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;101.CAL</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Inline XBRL Taxonomy Extension Calculation Linkbase Document</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;101.DEF</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Inline XBRL Taxonomy Extension Definition Linkbase Document</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;101.LAB</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Inline XBRL Taxonomy Extension Label Linkbase Document</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;101.PRE</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Inline XBRL Taxonomy Extension Presentation Linkbase Document</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">104</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:right;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:bottom;padding-right:0.010in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(255,255,255,1);padding-top:0.010in;word-break:break-word;vertical-align:top;padding-right:0.010in;text-align:left;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">X</span></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:6.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:6.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">*       Furnished herewith and not deemed to be &#x201c;filed&#x201d; for purposes of Section 18 of the Exchange Act, and shall not be deemed to be incorporated by reference into any filing under the Securities Act, or the Exchange Act (whether made before or after the date of the Form 10-Q), irrespective of any general incorporation language contained in such filing.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">58</span></p>
  <hr style="page-break-after:always;" />
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;" id="signatures"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">SIGNAT</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">URES</span></p>
  <p style="text-indent:4.533%;font-size:10.0pt;margin-top:10.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</span></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:59.374%;"></td>
    <td style="width:3.621%;"></td>
    <td style="width:1.004%;"></td>
    <td style="width:36.0%;"></td>
   </tr>
   <tr style="height:12.25pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td colspan="3" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">SHOTSPOTTER, INC.</span></p></td>
   </tr>
   <tr style="height:15.85pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:12.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:12.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:12.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:12.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:12.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:12.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:12.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:12.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
   </tr>
   <tr style="height:12.25pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Date: May 16, 2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">By:</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.750pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">/s/ Ralph A. Clark</span></p></td>
   </tr>
   <tr style="height:12.25pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;padding-left:0.100in;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ralph A. Clark</span></p></td>
   </tr>
   <tr style="height:13.7pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;padding-left:0.100in;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">President and Chief Executive Officer</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p></td>
   </tr>
   <tr style="height:15.1pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:12.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:12.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:12.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:12.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:12.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:12.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:12.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:12.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
   </tr>
   <tr style="height:12.25pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Date: May 16, 2022</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">By:</span></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.750pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">/s/ Alan R. Stewart</span></p></td>
   </tr>
   <tr style="height:13.7pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;padding-left:0.100in;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Alan R. Stewart</span></p></td>
   </tr>
   <tr style="height:12.25pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;padding-left:0.100in;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Chief Financial Officer</span></p></td>
   </tr>
  </table>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">59</span></p>
  <hr style="page-break-after:always;" />
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ssti-ex31_1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html>
 <head>
  <title>EX-31.1</title>
 </head>
 <body>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 31.1</font></p>
  <p style="text-indent:6.667%;font-size:10.0pt;margin-top:12.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION OF PERIODIC REPORT UNDER SECTION 302 OF</font><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </font><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">THE SARBANES-OXLEY ACT OF 2002</font></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.035;font-family:Times New Roman;margin-bottom:12.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">I, Ralph A. Clark, certify that:</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.	I have reviewed this Form 10-Q of ShotSpotter, Inc.;</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2.	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;</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3.	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;</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4.	The registrant&#x2019;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:</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(a)	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;</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(b)	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;</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(c)	Evaluated the effectiveness of the registrant&#x2019;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; and</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(d)	Disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5.	The registrant&#x2019;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(a)	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&#x2019;s ability to record, process, summarize and report financial information; and</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(b)	Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font></p>
  <hr style="page-break-after:always;">
  <table style="margin-left:0.024305555555555556in;border-spacing:0;table-layout:fixed;width:99.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:48.716%;"></td>
    <td style="width:51.284%;"></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.006in;border-bottom:0.750pt solid rgba(255,255,255,1);padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">May 16, 2022</font></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.026in;border-bottom:0.750pt solid rgba(0,0,0,1);padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">/s/ Ralph A. Clark</font><font style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </font></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.024in;padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:1.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:1.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.024in;padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ralph A. Clark</font></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.024in;padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:1.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:1.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.024in;padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">President and Chief Executive Officer</font></p><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Principal Executive Officer)</font></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ssti-ex31_2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html>
 <head>
  <title>EX-31.2</title>
 </head>
 <body>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:13.0pt;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 31.2</font></p>
  <p style="text-indent:6.667%;font-size:10.0pt;margin-top:12.0pt;line-height:13.0pt;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION OF PERIODIC REPORT UNDER SECTION 302 OF</font><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </font><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">THE SARBANES-OXLEY ACT OF 2002</font></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">I, Alan R. Stewart, certify that:</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.	I have reviewed this Form 10-Q of ShotSpotter, Inc.;</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2.	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;</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3.	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;</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4.	The registrant&#x2019;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:</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(a)	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;</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(b)	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;</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(c)	Evaluated the effectiveness of the registrant&#x2019;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; and</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(d)	Disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font></p>
  <p style="text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5.	The registrant&#x2019;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(a)	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&#x2019;s ability to record, process, summarize and report financial information; and</font></p>
  <p style="margin-left:6.667%;text-indent:-7.143%;padding-left:6.667%;font-size:10.0pt;margin-top:0.0pt;line-height:0.9199999999999998;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(b)	Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font></p>
  <table style="margin-left:0.024305555555555556in;border-spacing:0;table-layout:fixed;width:99.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:48.716%;"></td>
    <td style="width:51.284%;"></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.006in;border-bottom:0.750pt solid rgba(255,255,255,1);padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.84;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">May 16, 2022</font></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.026in;border-bottom:0.750pt solid rgba(0,0,0,1);padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.84;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">/s/ Alan R. Stewart</font></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.024in;padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:1.0pt;margin-top:0.0pt;line-height:0.84;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:1.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.024in;padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.84;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Alan R. Stewart</font></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.024in;padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:1.0pt;margin-top:0.0pt;line-height:0.84;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:1.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);padding-top:0.024in;word-break:break-word;padding-left:0.024in;vertical-align:top;padding-bottom:0.024in;padding-right:0.024in;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.84;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Chief Financial Officer</font></p><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Principal Financial and Accounting Officer)</font></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:13.0pt;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>ssti-ex32_1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html>
 <head>
  <title>EX-32.1</title>
 </head>
 <body>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exhibit 32.1</font></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">CERTIFICATION PURSUANT TO</font><font style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO</font><font style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:center;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font><font style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </font></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:12.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Pursuant to the requirement set forth in Rule 13a-14(b) of the Securities Exchange Act of 1934, as amended, (the &#x201c;Exchange Act&#x201d;) and Section 1350 of Chapter 63 of Title 18 of the United States Code (18 U.S.C. &#167;1350), I, Ralph A. Clark, President and Chief Executive Officer of ShotSpotter, Inc. (the &#x201c;Company&#x201d;), and Alan R. Stewart, Chief Financial Officer of the Company, each hereby certifies, to the best of his knowledge:</font></p>
  <div style="text-indent:0.0%;display:flex;margin-top:0.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:12.0pt;min-width:6.667%;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:6.667%;">(1)</font><div style="display:inline;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company&#x2019;s Quarterly Report on Form 10-Q for the period ended March 31, 2022 to which this Certification is attached as Exhibit 32.1 (the &#x201c;Periodic Report&#x201d;), fully complies with the requirements of Section 13(a) or Section 15(d) of the Exchange Act; and</font></div></div>
  <div style="text-indent:0.0%;display:flex;margin-top:0.0pt;line-height:1.15;justify-content:flex-start;align-items:baseline;margin-bottom:12.0pt;min-width:6.667%;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10.0pt;font-family:Times New Roman;justify-content:flex-start;min-width:6.667%;">(2)</font><div style="display:inline;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The information contained in the Periodic Report fairly presents, in all material respects, the financial condition and results of operations of the Company. </font></div></div>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Date: May 16, 2022</font></p>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:8.0pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
   <tr style="visibility:collapse;">
    <td style="width:2.521%;"></td>
    <td style="width:35.94%;"></td>
    <td style="width:23.098%;"></td>
    <td style="width:2.564%;"></td>
    <td style="width:35.876%;"></td>
   </tr>
   <tr style="height:10.0pt;">
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">/s/</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ralph A. Clark</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">/s/</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Alan R. Stewart</font></p></td>
   </tr>
   <tr>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ralph A. Clark</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Alan R. Stewart</font></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">President and Chief Executive Officer</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Chief Financial Officer</font></p></td>
   </tr>
   <tr style="height:10.0pt;">
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Principal Executive Officer)</font></p></td>
    <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><font style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></td>
    <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:0.9450000000000001;font-family:Times New Roman;margin-bottom:8.0pt;text-align:left;"><font style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(Principal Financial and Accounting Officer)</font></p></td>
   </tr>
  </table>
  <p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><font style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>ssti-20220331_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Linkbase Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2022-05-16T17:17:36.3667+00:00 -->
<!-- Copyright (c) 2022 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" 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">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="labelLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseExpirationDate1" xlink:label="us-gaap_LeaseExpirationDate1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PercentageOfDiscountedCashFlows" xlink:label="ssti_PercentageOfDiscountedCashFlows"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:label="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyAbstract" xlink:label="us-gaap_LossContingencyAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" xlink:label="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerDurationDomain" xlink:label="us-gaap_ContractWithCustomerDurationDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_RecognitionFromNewBillingsOfDeferredRevenueMember" xlink:label="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessAndNatureOfOperationsLineItems" xlink:label="ssti_BusinessAndNatureOfOperationsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerDurationAxis" xlink:label="us-gaap_ContractWithCustomerDurationAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrentAbstract" xlink:label="us-gaap_OtherLiabilitiesNoncurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ContractWithCustomerLiabilityForeignCurrencyImpact" xlink:label="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherPrepaidExpenseCurrent" xlink:label="us-gaap_OtherPrepaidExpenseCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FeaturesOfConvertiblePreferredStockAbstract" xlink:label="us-gaap_FeaturesOfConvertiblePreferredStockAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="us-gaap_LiabilitiesFairValueDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountsReceivableAndContractAssetCurrent" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ProfessionalSoftwareDevelopmentServicesMember" xlink:label="ssti_ProfessionalSoftwareDevelopmentServicesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ForensicLogicLlcMember" xlink:label="ssti_ForensicLogicLlcMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember" xlink:label="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SoftwareTechnologyMember" xlink:label="ssti_SoftwareTechnologyMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:label="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_RecognitionFromBeginningDeferredRevenueBalanceMember" xlink:label="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrentDisclosureAbstract" xlink:label="us-gaap_OtherAssetsNoncurrentDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessAndNatureOfOperationsTable" xlink:label="ssti_BusinessAndNatureOfOperationsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" xlink:label="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="us-gaap_AccruedRoyaltiesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset" xlink:label="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingStandardsUpdate202108Member" xlink:label="ssti_AccountingStandardsUpdate202108Member"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock" xlink:label="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfSubsidiary" xlink:label="ssti_NumberOfSubsidiary"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccruedLiabilitiesAndOtherLiabilitiesMember" xlink:label="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingPoliciesLineItems" xlink:label="ssti_AccountingPoliciesLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingPoliciesTable" xlink:label="ssti_AccountingPoliciesTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenueAbstract" xlink:label="us-gaap_CostOfRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeasedOfficeSpaceArea" xlink:label="ssti_LeasedOfficeSpaceArea"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfCitiesInWhichEntityOperates" xlink:label="ssti_NumberOfCitiesInWhichEntityOperates"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillPeriodIncreaseDecrease" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductionRelatedImpairmentsOrCharges" xlink:label="us-gaap_ProductionRelatedImpairmentsOrCharges"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SubscriptionMaintenanceAndSupportServicesMember" xlink:label="ssti_SubscriptionMaintenanceAndSupportServicesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="us-gaap_NetIncomeLossAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillDisclosureTextBlock" xlink:label="us-gaap_GoodwillDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandSeventeenEquityIncentivePlanMember" xlink:label="ssti_TwoThousandSeventeenEquityIncentivePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:label="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" xlink:label="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FinancingReceivableAllowanceForCreditLossesAdjustment" xlink:label="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_EstimatedFairValueOfContingentConsideration" xlink:label="ssti_EstimatedFairValueOfContingentConsideration"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises" xlink:label="us-gaap_ProceedsFromWarrantExercises"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PunitiveDamagesMember" xlink:label="ssti_PunitiveDamagesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PrepaidSoftwareAndLicensesCurrent" xlink:label="ssti_PrepaidSoftwareAndLicensesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeedsLLCMember" xlink:label="ssti_LeedsLLCMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ShotSpotterLabsMember" xlink:label="ssti_ShotSpotterLabsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CustomerTwoMember" xlink:label="ssti_CustomerTwoMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract" xlink:label="us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCurrent" xlink:label="us-gaap_DeferredCostsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US" xlink:label="country_US"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CustomerOneMember" xlink:label="ssti_CustomerOneMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:label="us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfCustomers" xlink:label="ssti_NumberOfCustomers"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeaseCommencementDate" xlink:label="ssti_LeaseCommencementDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfDaysAmountsToBeDeterminedAndPaid" xlink:label="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AntidilutiveEmployeeShareBasedAwardsExcluded" xlink:label="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember" xlink:label="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeaseAgreementMember" xlink:label="ssti_LeaseAgreementMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CompensatoryDamagesMember" xlink:label="ssti_CompensatoryDamagesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCosts" xlink:label="us-gaap_DeferredCosts"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PaymentForInvestmentInIntangibleAndOtherAssets" xlink:label="ssti_PaymentForInvestmentInIntangibleAndOtherAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FairValueOfContingentConsideration" xlink:label="ssti_FairValueOfContingentConsideration"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:label="us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesAndExciseTaxPayableCurrent" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_ZA" xlink:label="country_ZA"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans" xlink:label="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" xlink:label="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AzaveaIncMember" xlink:label="ssti_AzaveaIncMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable" xlink:label="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ImpairmentOfPropertyAndEquipment" xlink:label="ssti_ImpairmentOfPropertyAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNoncurrentLiabilitiesTableTextBlock" xlink:label="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition" xlink:label="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" xlink:label="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_BS" xlink:label="country_BS"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock"/>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseExpirationDate1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease expiration date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseExpirationDate1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Expiration Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gross Profit</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Gross profit</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PercentageOfDiscountedCashFlows_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of discounted cash flows</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PercentageOfDiscountedCashFlows_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Percentage of discounted cash flows</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PercentageOfDiscountedCashFlows_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Percentage of Discounted Cash Flows</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ScenarioForecastMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Forecast</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ScenarioForecastMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Forecast [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued expenses and other current liabilities.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Expenses And Other Current Liabilities [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Expenses [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating expenses</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Operating income</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Income (Loss)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition pro forma revenue</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Revenue</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Type [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Type</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding Reconciliation [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Denominator:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Emerging Growth Company</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Emerging Growth Company</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingency [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Prepaid Expense and Other Assets, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Prepaid expenses and other assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average Grant Date Fair Value per RSU, Canceled</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of shares available for future grant</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Payments to Acquire Property, Plant, and Equipment, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchase of property and equipment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographical [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographical</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock: $0.005 par value; 500,000,000 shares authorized; 2,141,630 and 11,703,430 shares issued and outstanding as of March 31, 2022 and December 31, 2021, respectively</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Common Stock, Value, Issued, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Common Stock, Value, Issued, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Common Stock, Value, Issued, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Value, Issued</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, State or Province</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, State or Province</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accrued expenses and other current liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination recognized identifiable assets acquired and liabilities assumed accrued expenses and other current liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Accrued Expenses and Other Current Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Ending balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Beginning balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Balance, end of year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Balance, beginning of year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Goodwill, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock issued during period shares restricted stock award vesting.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period Shares Restricted Stock Award Vesting</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock from RSUs vested, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerDurationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Duration [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerDurationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract with Customer, Duration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tradename</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trade Names [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Recognized During the Year from New Billings</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Recognition from new billings of deferred revenue.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recognition From New Billings Of Deferred Revenue [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combinations [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration - Forensic Logic (Note 4 - Business Acquisitions)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessAndNatureOfOperationsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business and nature of operations.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessAndNatureOfOperationsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business And Nature Of Operations [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessAndNatureOfOperationsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business And Nature Of Operations [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Deferred revenue</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Deferred Revenue</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Related Parties</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue from related parties</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expense and Other Assets, Current [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">General and Administrative Expense [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">General and Administrative</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerDurationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Duration [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerDurationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract with Customer, Duration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Employee Benefits, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Personnel-related accruals</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total estimated consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts Receivable, after Allowance for Credit Loss, Current, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Accounting Policies [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Significant Accounting Policies</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue recognized during the year from balance at the beginning of the year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Revenue recognized during the period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Related Party Transactions, by Related Party [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Related Party Transactions By Related Party [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Liabilities, Current, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">City Area Code</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">City Area Code</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities, Noncurrent [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Foreign currency impact</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign currency impact</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract With Customer Liability Foreign Currency Impact</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Contract With Customer Liability Foreign Currency Impact</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherPrepaidExpenseCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Prepaid Expense, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherPrepaidExpenseCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other prepaid expenses</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in accounting principle, ASU, adopted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Change in Accounting Principle, Accounting Standards Update, Adopted [true false]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average Exercise Price, Canceled</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Balance at the end of the year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Balance at the beginning of the year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Balance at the end of the year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Balance at the beginning of the year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Liability, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and contingencies (Note 13)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FeaturesOfConvertiblePreferredStockAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Features of Convertible Preferred Stock [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Finite-Lived Intangible Assets, Net, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Finite-Lived Intangible Assets, Net, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Intangible assets, net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2026</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementScenarioAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Scenario [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisitions</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Disclosure [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Benchmark [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenues</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basis of Presentation</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesFairValueDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Fair Value Disclosure [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock from ESPP purchase, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Shares issued under ESPP</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash, cash equivalents and restricted cash at end of year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash, cash equivalents and restricted cash at beginning of year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable and contract asset, net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts receivable and contract asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accounts receivable and contract asset current.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable And Contract Asset Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Statement [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net cash used in investing activities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Percentage of number of shares of common stock outstanding</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Percentage of Outstanding Stock Maximum</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">General and Administrative Expense, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">General and Administrative Expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">General and administrative</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Property, Plant and Equipment, Net, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Property, Plant and Equipment, Net, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Property, Plant and Equipment, Net, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and equipment, net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue, short-term</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Common Stock, Shares, Issued, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares, Issued</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares issued</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel">Number of Restricted Stock Units, Canceled</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Identifiable technology and intangible assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Comprehensive Income [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of exchange rate on cash and cash equivalents</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Right-of-Use Asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease right-of-use assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Concentration Risk [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer Concentration Risk</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ProfessionalSoftwareDevelopmentServicesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Professional software development services member</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ProfessionalSoftwareDevelopmentServicesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Professional software development services.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Security Exchange Name</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Security Exchange Name</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statistical Measurement [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statistical Measurement</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities, Noncurrent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other liabilities, noncurrent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Finite-Lived Intangible Assets, Gross, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Gross</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Period End Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Period End Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Statement Location [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Statement Location</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Accrued Expenses and Other Current Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Shares of common stock reserved for issuance, automatic annual increase end date.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares Of Common Stock Reserved For Issuance Automatic Annual Increase End Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares of common stock reserved for issuance, automatic annual increase end date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transaction [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party Transaction</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingencies [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares Authorized</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Common stock, shares authorized</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Shares of common stock reserved for issuance automatic annual increase initiation period.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares Of Common Stock Reserved For Issuance Automatic Annual Increase Initiation Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares of common stock reserved for issuance, automatic annual increase initiation period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Use of Estimates</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Lease liabilities (short-term) (presented within Accrued expenses and other current liabilities)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Supplemental cash flow disclosures:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BalanceSheetRelatedDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Balance Sheet Related Disclosures [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Benchmark [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Benchmark</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ForensicLogicLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Forensic Logic</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ForensicLogicLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Forensic Logic, LLC [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ForensicLogicLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Forensic logic, LLC.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">2005 Stock Plan and 2017 Equity Incentive Plan.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Thousand Five Stock Plan And Two Thousand Seventeen Equity Incentive Plan [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2005 Plan and 2017 Plan</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine2_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line Two</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine2_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, Address Line Two</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Fiscal Year End Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current Fiscal Year End Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration, Liability, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated remaining performance obligations for contractually committed revenues recognition period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer Relationships</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Relationships [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock Acquired, Average Cost Per Share</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Average price per share</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Disaggregation Of Revenue [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and equipment, net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts Payable, Current, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Payable, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Par or Stated Value Per Share</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, par value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average shares used in computing adjusted net income per share, basic</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Weighted Average Number of Shares Outstanding, Basic, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted-average shares outstanding, basic</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares, Outstanding</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Ending balance, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Beginning balance, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Additional Paid in Capital, Common Stock, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Additional Paid in Capital, Common Stock, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional Paid in Capital, Common Stock</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional paid-in capital</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Revenue</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total costs</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SoftwareTechnologyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Software technology.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SoftwareTechnologyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Software Technology [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SoftwareTechnologyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Software Technology</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Operating lease liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination recognized identifiable assets acquired and liabilities assumed operating lease liabilities.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income before income taxes</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Type</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Type</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Goodwill [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition estimated purchase consideration/purchase consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Consideration Transferred, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock: $0.005 par value; 20,000,000 shares authorized; no shares issued and outstanding as of March 31, 2022 and December 31, 2021</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Value, Issued</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Preferred Stock, Value, Issued, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Preferred Stock, Value, Issued, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Preferred Stock, Value, Issued, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Noncurrent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated fair value of contingent consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contingent Consideration Classified as Equity, Fair Value Disclosure</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total current assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Provision for accounts receivable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Disaggregation Of Revenue [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recognition From Balance at the Beginning of the Year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Recognition from beginning deferred revenue balance.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Recognition From Beginning Deferred Revenue Balance [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Provision for income taxes</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income Tax Expense (Benefit), Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Expense (Benefit)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Supplemental disclosure of non-cash financing activities:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrentDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Noncurrent Disclosure [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrentDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Assets Noncurrent Disclosure [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingencies [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Number of Restricted Stock Units, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Number of Restricted Stock Units, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidInsurance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Insurance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidInsurance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid insurance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Interest Income (Expense), Nonoperating, Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Interest income, net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessAndNatureOfOperationsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business and nature of operations.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessAndNatureOfOperationsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business And Nature Of Operations [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessAndNatureOfOperationsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business And Nature Of Operations [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchased During Period, Value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Repurchase of common stock amount</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repurchase of common stock</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock issued during period shares in connection with exercise of warrants.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period Shares In Connection With Exercise Of Warrants</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock in connection with exercise of warrants, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedRoyaltiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Royalties, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedRoyaltiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Royalties payable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Common Stock, Shares, Outstanding, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares, Outstanding</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares outstanding</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Common Stock, Shares, Outstanding, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Plan Name [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Plan Name</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Number of common stock shares canceled</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Number of Options Outstanding, Canceled</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase decrease in accounts receivable and contract asset.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Accounts Receivable And Contract Asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accounts receivable and contract asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingStandardsUpdate202108Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ASU 2021-08</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingStandardsUpdate202108Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update 2021-08 [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingStandardsUpdate202108Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accounting standards update 2021-08.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Accounts Receivable and Contract Asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accounts Receivable and Contract Asset [Table TextBlock]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of accounts receivable and contract asset.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Business acquisition, net of cash acquired</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Payments to Acquire Businesses, Net of Cash Acquired, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Expenses</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total operating expenses</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transfers into or out of level 3</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Transfers, Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Transfers, Net, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Weighted Average Exercise Price, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Weighted Average Exercise Price, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from operating activities:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net income (loss) per share, diluted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Earnings Per Share, Diluted, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Diluted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net income per share, diluted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net income</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net income (loss)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net income</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss) Attributable to Parent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentrations of Risk</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and Development</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Fiscal Period Focus</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Fiscal Period Focus</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Policies [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accumulated Other Comprehensive Income (Loss), Net of Tax, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated other comprehensive loss</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line One</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, Address Line One</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate Intrinsic Value Exercised</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Number of Options Outstanding, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Number of Options Outstanding, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts receivable and contract asset, net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination recognized identifiable assets acquired and liabilities assumed current assets receivables and contract assets net.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Current Assets Receivables and Contract Assets Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total current liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Amortization</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel">Accumulated Amortization</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net income</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Postal Zip Code</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, Postal Zip Code</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Asset, after Allowance for Credit Loss, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfSubsidiary_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of subsidiary.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfSubsidiary_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Subsidiary</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfSubsidiary_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of subsidiary</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ProductsAndServicesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product and Service [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities and Other Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued expenses and other current liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accrued expenses and other current liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intangible Assets, Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets Disclosure [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Revenues, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenues</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Revenues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenues</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement and Arrangement Other than Collaborative [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net cash provided by (used in) operating activities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments for Repurchase of Common Stock</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repurchases of common stock</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Components [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Components [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued Expenses and Other Current Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities And Other Liabilities [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued liabilities and other liabilities.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Current [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accounting policies.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Policies [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounting Policies [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounting Policies [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accounting policies.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Policies [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Registrant Name</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Registrant Name</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other comprehensive income (loss):</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Revenue [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Costs</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Stock Repurchase Program</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Capital Stock</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Interactive Data Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Interactive Data Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, City or Town</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, City or Town</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts Receivable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeasedOfficeSpaceArea_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leased office space area</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeasedOfficeSpaceArea_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leased Office Space Area</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeasedOfficeSpaceArea_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Leased office space area.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Balance Sheet Disclosures [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Details of Certain Condensed Consolidated Balance Sheet Accounts</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trading Symbol</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trading Symbol</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transactions Disclosure [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party Transactions</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Incremental Common Shares Attributable to Share-based Payment Arrangements, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Dilutive effect of common stock equivalents</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Loss on disposal of property and equipment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from investing activities:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Type [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Type</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment for Contingent Consideration Liability, Financing Activities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment of contingent consideration liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment of contingent consideration liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Local Phone Number</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Local Phone Number</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Intangible Assets Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total stockholders' equity</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stockholders' Equity Attributable to Parent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Ending balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Beginning balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfCitiesInWhichEntityOperates_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of cities in which entity operates.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfCitiesInWhichEntityOperates_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Cities In Which Entity Operates</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfCitiesInWhichEntityOperates_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of cities in which entity operates</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change during the period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Period Increase (Decrease)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Goodwill, Period Increase (Decrease), Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Preferred Stock, Shares Issued, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Issued</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares issued</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statistical Measurement [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statistical Measurement</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Small Business</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Small Business</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyNatureDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingency, Nature [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Preferred Stock, Shares Outstanding, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Preferred Stock, Shares Outstanding, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Outstanding</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares outstanding</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Hierarchy and NAV</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">APIC, Share-based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductionRelatedImpairmentsOrCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Production Related Impairments or Charges, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductionRelatedImpairmentsOrCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Production Related Impairments or Charges</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProductionRelatedImpairmentsOrCharges_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of property and equipment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales and Marketing</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling and Marketing Expense [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisition</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Balance Sheet Location [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SubscriptionMaintenanceAndSupportServicesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subscription, maintenance and support services Member</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SubscriptionMaintenanceAndSupportServicesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Subscription, maintenance, and support services.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss) Attributable to Parent [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Numerator:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average Exercise Price, Granted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transaction [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party Transaction [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Remaining Performance Obligations for Contractually Committed Revenues</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Plan Name [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Plan Name</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other comprehensive income (loss)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Remainder of 2022</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Stock [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Class Of Stock [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Depreciation of property and equipment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Depreciation, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Depreciation</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Intangible amortization expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Amortization of Intangible Assets, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Intangible Assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of intangible assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill Disclosure [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandSeventeenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">2017 Equity Incentive Plan.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandSeventeenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Thousand Seventeen Equity Incentive Plan [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandSeventeenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2017 Equity Incentive Plan</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Thereafter</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, after Year Four</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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).</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase in common stock capital shares reserved for future issuance.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase In Common Stock Capital Shares Reserved For Future Issuance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Increase in common stock reserved for issuance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Financing receivable allowance for credit losses adjustment.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Allowance for potential credit losses</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Allowance for potential credit losses</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Financing Receivable Allowance for Credit Losses Adjustment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_EstimatedFairValueOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Estimated fair value of contingent consideration.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_EstimatedFairValueOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Estimated Fair Value Of Contingent Consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_EstimatedFairValueOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated fair value of contingent consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromWarrantExercises_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Warrant Exercises</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromWarrantExercises_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from exercise of warrants</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyDamagesSoughtValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss contingency damages sought value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingencyDamagesSoughtValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingency, Damages Sought, Value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Payment Arrangement, Noncash Expense, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement, Noncash Expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid expenses and other current assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expense and Other Assets, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Outstanding Restricted Stock Units Awards Activity</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Stock Option Activity</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transactions [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PunitiveDamagesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Punitive Damages</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PunitiveDamagesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Punitive Damages [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PunitiveDamagesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Punitive damages.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition purchase consideration, stock issued</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PrepaidSoftwareAndLicensesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Prepaid software and licenses current.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PrepaidSoftwareAndLicensesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Software And Licenses Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PrepaidSoftwareAndLicensesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid software and licenses</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration, Liability, Noncurrent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Business Combination, Contingent Consideration, Liability, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration, Liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition contingent earnout payable in cash</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Contingent consideration liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net cash used in financing activities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Prepaid Expenses and Other Current Assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted Average Grant Date Fair Value per RSU, Vested</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">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:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payment of line of credit costs</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Repayments of Lines of Credit</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercise of stock options, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Number of Options Outstanding, Exercised</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statement [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities and Equity</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total liabilities and stockholders' equity</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2024</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentQuarterlyReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Quarterly Report</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentQuarterlyReport_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Quarterly Report</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Balance Sheet Location [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Cash Flows [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payment of contingent consideration liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Additional Paid-in Capital [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional Paid-in Capital</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title of 12(b) Security</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Title of 12(b) Security</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Comprehensive income</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeedsLLCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">LEEDS</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeedsLLCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Leeds LLC.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeedsLLCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leeds L L C [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preliminary fair value of the contingent earnout</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Consideration Transferred, Liabilities Incurred</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 3</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Award Type [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Award Type</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Hierarchy and NAV</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonoperating Income (Expense)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total other income (expense), net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of Options Outstanding, Granted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Current Reporting Status</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Current Reporting Status</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Related Disclosures</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ShotSpotterLabsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">ShotSpotter Labs.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ShotSpotterLabsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shot Spotter Labs [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ShotSpotterLabsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ShotSpotter Labs</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Estimated remaining performance obligations for contractually committed revenues</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Scenario [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Weighted Average Grant Date Fair Value per RSU, Granted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">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:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Grant Date Fair Value, Granted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CustomerTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer two.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CustomerTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Two [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CustomerTwoMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer Two</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Schedule of Stock-Based Compensation Expense Recorded in Consolidated Statements of Operations</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchased During Period, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Repurchase of common stock</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repurchase of common stock, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">AOCI Attributable to Parent [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Noncurrent Liabilities [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Costs, Current, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Costs, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred commissions</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Statement Location [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Statement Location</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Changes in Fair Value of Contingent Consideration Liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/label">UNITED STATES</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">United States</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition-related expenses</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Acquisition Related Costs</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Membership interests, acquired</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Percentage of Voting Interests Acquired</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net income (loss) per share, basic</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Earnings Per Share, Basic, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Basic</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net income per share, basic</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, shares authorized</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Shares Authorized</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CustomerOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer one.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CustomerOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer One [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CustomerOneMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer One</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Minimum [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Minimum</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsMiscellaneousNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Miscellaneous, Noncurrent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsMiscellaneousNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Frequency [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Exercise of stock options</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfCustomers_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of customers.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfCustomers_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Customers</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfCustomers_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of customers</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Businesses, Gross</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition purchase consideration in cash</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeaseCommencementDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Commencement Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeaseCommencementDate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lease commencement date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeaseCommencementDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease commencement date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of Restricted Stock Units, Granted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Number of Restricted Stock Units, Granted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2023</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Organization and Description of Business</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of days amounts to be determined and paid</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of days amounts to be determined and paid.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number of Days Amounts to be Determined and Paid</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Anti-dilutive employee share-based awards, excluded</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive employee share-based awards excluded</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Antidilutive employee share-based awards excluded</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from financing activities:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFilerCategory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Filer Category</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFilerCategory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Filer Category</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Fiscal Year Focus</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Fiscal Year Focus</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Future Intangible Asset Amortization</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two thousand and seventeen employee stock purchase plan.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Thousand And Seventeen Employee Stock Purchase Plan [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2017 Employee Stock Purchase Plan</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Changes in Goodwill</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Goodwill [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeaseAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease Agreement</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeaseAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Agreement [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_LeaseAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lease Agreement [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average Grant Date Fair Value per Option, Granted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Retained Earnings (Accumulated Deficit), Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Retained Earnings (Accumulated Deficit), Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Retained Earnings (Accumulated Deficit), Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retained Earnings (Accumulated Deficit)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated deficit</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenues acquired (Note 4 - Business Acquisitions)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityExTransitionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Ex Transition Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityExTransitionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Ex Transition Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CompensatoryDamagesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Compensatory Damages</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CompensatoryDamagesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Compensatory Damages [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_CompensatoryDamagesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Compensatory damages.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Disclosures [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Costs, Noncurrent, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Costs, Noncurrent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred commissions</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maximum</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Changes in Deferred Revenue</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PaymentForInvestmentInIntangibleAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment for investment in intangible and other assets.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PaymentForInvestmentInIntangibleAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment For Investment In Intangible And Other Assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PaymentForInvestmentInIntangibleAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Investment in intangible and other assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Central Index Key</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Central Index Key</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Acquisition, Acquiree</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock for acquisition</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Acquisitions</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Purchase Price Allocation as of Acquisition Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Tax Identification Number</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Tax Identification Number</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Component [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Component</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Preferred stock, par value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares of common stock reserved for issuance, automatic annual increase start date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares Of Common Stock Reserved For Issuance Automatic Annual Increase Start Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Shares of common stock reserved for issuance automatic annual increase start date.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in foreign currency translation adjustment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FairValueOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of contingent consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FairValueOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Of Contingent Consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FairValueOfContingentConsideration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value of contingent consideration.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in accounting principle, ASU, adoption date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Change in Accounting Principle, Accounting Standards Update, Adoption Date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Events [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk, Percentage</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration risk percentage</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statement [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity File Number</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity File Number</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Other Assets, Noncurrent [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Other Assets Long-term</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retained Earnings [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Deficit</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Standards Update [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Revenue from Contract with Customer, Excluding Assessed Tax, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenues</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales and Excise Tax Payable, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales/ use tax payable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Accounts Payable, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Payable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Current [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Incentive Plans</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and Contingencies</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2025</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common Stock</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedProfessionalFeesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Professional Fees, Current</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedProfessionalFeesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Professional fees</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_ZA_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SOUTH AFRICA</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_ZA_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">South Africa</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds, Issuance of Shares, Share-based Payment Arrangement, Excluding Option Exercised</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from employee stock purchase plan</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CoverAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cover [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Weighted Average Grant Date Fair Value per RSU, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Weighted Average Grant Date Fair Value per RSU, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Related Party Transaction [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Related Party Transaction</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquisition of Forensic Logic (see Note 4 Business Acquisitions)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Acquired During Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Goodwill recorded on acquisition of LEEDS</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contingent consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Ending balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Beginning balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Periodic increment of common stock capital shares reserved for future issuance.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Periodic Increment Of Common Stock Capital Shares Reserved For Future Issuance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Periodic increment of common stock reserved for future issuance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AzaveaIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Azavea, Inc.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AzaveaIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Azavea Inc [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_AzaveaIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Azavea, Inc</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted Stock Unit</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentTransitionReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Transition Report</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentTransitionReport_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Transition Report</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Stock Options Exercised</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from exercise of stock options</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease right-of-use asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Business combination recognized identifiable assets acquired and liabilities assumed operating lease right of use asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right of Use Asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Research and Development Expense, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and development</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Noncurrent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue, long-term</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average shares used in computing adjusted net income per share, diluted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Weighted-average shares outstanding, diluted</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock for acquisition, Shares</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Acquisitions</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cost of Goods and Services Sold, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Goods and Services Sold</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of revenues</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition, pro forma net income (loss)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Net Income (Loss)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Payment Arrangement, Expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in fair value of contingent consideration</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease), Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Benchmark [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Benchmark</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Financial Position [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and equipment purchases included in accounts payable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Property and equipment purchases included in accounts payable.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property And Equipment Purchases Included In Accounts Payable</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Number of Restricted Stock Units, Vested</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of Restricted Stock Units, Vested</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Decrease in cash, cash equivalents and restricted cash</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders' equity</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Selling and Marketing Expense, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling and Marketing Expense</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales and marketing</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Software Technology</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Computer Software, Intangible Asset [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ImpairmentOfPropertyAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Impairment of property and equipment.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ImpairmentOfPropertyAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Impairment Of Property And Equipment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_ImpairmentOfPropertyAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of property and equipment</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Computation of Basic and Diluted Net Income per Share</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted Average Exercise Price, Exercised</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Noncurrent Liabilities [Table Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Other Long-term Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PatentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Patents</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PatentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Patents [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Changes in operating assets and liabilities:</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">New billings</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Measure of Progress</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Common Stock, Shares Outstanding</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Common Stock, Shares Outstanding</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Measurement Frequency [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AwardTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Award Type [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AwardTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Award Type</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Fair value of common stock issued as consideration for business acquisition.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Of Common Stock Issued As Consideration For Business Acquisition</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair value of common stock issued as consideration for business acquisition</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityShellCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Shell Company</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityShellCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Shell Company</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities and Equity [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liabilities and Stockholders' Equity</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock issued during period value in connection with exercise of warrants.</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period Value In Connection With Exercise Of Warrants</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Issuance of common stock in connection with exercise of warrants</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Incorporation, State or Country Code</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Incorporation, State or Country Code</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net Income per Share</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amendment Flag</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amendment Flag</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Stock by Class [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Stock By Class [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ProductOrServiceAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Product and Service [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Nonoperating Income (Expense) [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other income (expense), net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Nonoperating Income (Expense), Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Income (Expense)</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other expense, net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash and Cash Equivalents, at Carrying Value, Ending Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash and Cash Equivalents, at Carrying Value, Beginning Balance</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash and Cash Equivalents, at Carrying Value, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash paid for income taxes</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes Paid, Net</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income Taxes Paid, Net, Total</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Fair Value Measurements Recurring</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Measurements Recurring</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Recurring [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Events [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subsequent Events</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued expenses and other current liabilities</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_BS_lbl" xlink:role="http://www.xbrl.org/2003/role/label">BAHAMAS</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_BS_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Bahamas</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Noncurrent</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total other assets</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other asset</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Loss Contingency Nature [Axis]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographical [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographical</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Sales [Member]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of Revenues</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business acquisition date</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Effective Date of Acquisition</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchase Program, Remaining Authorized Repurchase Amount</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amount authorized to repurchase remaining available common stock</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Disclosures [Text Block]</link:label>
    <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Measurements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseExpirationDate1" xlink:to="us-gaap_LeaseExpirationDate1_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_PercentageOfDiscountedCashFlows" xlink:to="ssti_PercentageOfDiscountedCashFlows_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_LossContingencyAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" xlink:to="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerDurationDomain" xlink:to="us-gaap_ContractWithCustomerDurationDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember" xlink:to="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_BusinessAndNatureOfOperationsLineItems" xlink:to="ssti_BusinessAndNatureOfOperationsLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromRelatedParties" xlink:to="us-gaap_RevenueFromRelatedParties_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerDurationAxis" xlink:to="us-gaap_ContractWithCustomerDurationAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrentAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact" xlink:to="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherPrepaidExpenseCurrent" xlink:to="us-gaap_OtherPrepaidExpenseCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted" xlink:to="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FeaturesOfConvertiblePreferredStockAbstract" xlink:to="us-gaap_FeaturesOfConvertiblePreferredStockAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:to="us-gaap_LiabilitiesFairValueDisclosureAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_AccountsReceivableAndContractAssetCurrent" xlink:to="ssti_AccountsReceivableAndContractAssetCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_ProfessionalSoftwareDevelopmentServicesMember" xlink:to="ssti_ProfessionalSoftwareDevelopmentServicesMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_BalanceSheetRelatedDisclosuresAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_ForensicLogicLlcMember" xlink:to="ssti_ForensicLogicLlcMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember" xlink:to="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_SoftwareTechnologyMember" xlink:to="ssti_SoftwareTechnologyMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_ScheduleOfGoodwillTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:to="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember" xlink:to="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrentDisclosureAbstract" xlink:to="us-gaap_OtherAssetsNoncurrentDisclosureAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidInsurance" xlink:to="us-gaap_PrepaidInsurance_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_BusinessAndNatureOfOperationsTable" xlink:to="ssti_BusinessAndNatureOfOperationsTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" xlink:to="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedRoyaltiesCurrent" xlink:to="us-gaap_AccruedRoyaltiesCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset" xlink:to="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_AccountingStandardsUpdate202108Member" xlink:to="ssti_AccountingStandardsUpdate202108Member_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock" xlink:to="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_NumberOfSubsidiary" xlink:to="ssti_NumberOfSubsidiary_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember" xlink:to="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_AccountingPoliciesLineItems" xlink:to="ssti_AccountingPoliciesLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_AccountingPoliciesTable" xlink:to="ssti_AccountingPoliciesTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenueAbstract" xlink:to="us-gaap_CostOfRevenueAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_LeasedOfficeSpaceArea" xlink:to="ssti_LeasedOfficeSpaceArea_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets" xlink:to="us-gaap_GainLossOnDispositionOfAssets_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_NumberOfCitiesInWhichEntityOperates" xlink:to="ssti_NumberOfCitiesInWhichEntityOperates_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillPeriodIncreaseDecrease" xlink:to="us-gaap_GoodwillPeriodIncreaseDecrease_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_LossContingencyNatureDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductionRelatedImpairmentsOrCharges" xlink:to="us-gaap_ProductionRelatedImpairmentsOrCharges_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpenseMember" xlink:to="us-gaap_SellingAndMarketingExpenseMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_SubscriptionMaintenanceAndSupportServicesMember" xlink:to="ssti_SubscriptionMaintenanceAndSupportServicesMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLossAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ClassOfStockLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillDisclosureTextBlock" xlink:to="us-gaap_GoodwillDisclosureTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_TwoThousandSeventeenEquityIncentivePlanMember" xlink:to="ssti_TwoThousandSeventeenEquityIncentivePlanMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:to="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" xlink:to="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment" xlink:to="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_EstimatedFairValueOfContingentConsideration" xlink:to="ssti_EstimatedFairValueOfContingentConsideration_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromWarrantExercises" xlink:to="us-gaap_ProceedsFromWarrantExercises_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyDamagesSoughtValue" xlink:to="us-gaap_LossContingencyDamagesSoughtValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_PunitiveDamagesMember" xlink:to="ssti_PunitiveDamagesMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_PrepaidSoftwareAndLicensesCurrent" xlink:to="ssti_PrepaidSoftwareAndLicensesCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_LeedsLLCMember" xlink:to="ssti_LeedsLLCMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_ShotSpotterLabsMember" xlink:to="ssti_ShotSpotterLabsMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_CustomerTwoMember" xlink:to="ssti_CustomerTwoMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract" xlink:to="us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCurrent" xlink:to="us-gaap_DeferredCostsCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_CustomerOneMember" xlink:to="ssti_CustomerOneMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:to="us-gaap_OtherAssetsMiscellaneousNoncurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_NumberOfCustomers" xlink:to="ssti_NumberOfCustomers_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_LeaseCommencementDate" xlink:to="ssti_LeaseCommencementDate_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid" xlink:to="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded" xlink:to="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember" xlink:to="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_LeaseAgreementMember" xlink:to="ssti_LeaseAgreementMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_CompensatoryDamagesMember" xlink:to="ssti_CompensatoryDamagesMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCosts" xlink:to="us-gaap_DeferredCosts_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_PaymentForInvestmentInIntangibleAndOtherAssets" xlink:to="ssti_PaymentForInvestmentInIntangibleAndOtherAssets_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_FairValueOfContingentConsideration" xlink:to="ssti_FairValueOfContingentConsideration_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate" xlink:to="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:to="us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesAndExciseTaxPayableCurrent" xlink:to="us-gaap_SalesAndExciseTaxPayableCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedProfessionalFeesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_ZA" xlink:to="country_ZA_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans" xlink:to="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="us-gaap_RelatedPartyTransactionDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" xlink:to="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_AzaveaIncMember" xlink:to="ssti_AzaveaIncMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable" xlink:to="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_ImpairmentOfPropertyAndEquipment" xlink:to="ssti_ImpairmentOfPropertyAndEquipment_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock" xlink:to="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress" xlink:to="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition" xlink:to="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" xlink:to="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ScheduleOfStockByClassTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_BS" xlink:to="country_BS_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>6
<FILENAME>ssti-20220331_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Linkbase Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2022-05-16T17:17:36.7671+00:00 -->
<!-- Copyright (c) 2022 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:href="ssti-20220331.xsd#Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" xlink:href="ssti-20220331.xsd#DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" xlink:href="ssti-20220331.xsd#DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details" xlink:href="ssti-20220331.xsd#DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureBusinessAcquisitionsAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails" xlink:href="ssti-20220331.xsd#DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails" xlink:href="ssti-20220331.xsd#DisclosureGoodwillScheduleOfChangesInGoodwillDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureStockRepurchaseProgramAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails" xlink:href="ssti-20220331.xsd#DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureSubsequentEventsAdditionalInformationDetails" xlink:type="simple"/>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" xlink:label="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" xlink:label="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" xlink:label="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessAndNatureOfOperationsLineItems" xlink:label="ssti_BusinessAndNatureOfOperationsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessAndNatureOfOperationsTable" xlink:label="ssti_BusinessAndNatureOfOperationsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfCitiesInWhichEntityOperates" xlink:label="ssti_NumberOfCitiesInWhichEntityOperates"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_default"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfSubsidiary" xlink:label="ssti_NumberOfSubsidiary"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ssti_BusinessAndNatureOfOperationsLineItems" xlink:to="ssti_BusinessAndNatureOfOperationsTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ssti_BusinessAndNatureOfOperationsLineItems" xlink:to="ssti_NumberOfCitiesInWhichEntityOperates" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ssti_BusinessAndNatureOfOperationsTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ssti_BusinessAndNatureOfOperationsLineItems" xlink:to="ssti_NumberOfSubsidiary" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingPoliciesLineItems" xlink:label="ssti_AccountingPoliciesLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingPoliciesTable" xlink:label="ssti_AccountingPoliciesTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CustomerOneMember" xlink:label="ssti_CustomerOneMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfCustomers" xlink:label="ssti_NumberOfCustomers"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CustomerTwoMember" xlink:label="ssti_CustomerTwoMember"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ssti_AccountingPoliciesLineItems" xlink:to="ssti_AccountingPoliciesTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ssti_AccountingPoliciesLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ssti_AccountingPoliciesTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ssti_CustomerOneMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ssti_AccountingPoliciesLineItems" xlink:to="ssti_NumberOfCustomers" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ssti_AccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ssti_CustomerTwoMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ssti_AccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerDurationAxis" xlink:label="us-gaap_ContractWithCustomerDurationAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerDurationDomain" xlink:label="us-gaap_ContractWithCustomerDurationDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerDurationDomain" xlink:label="us-gaap_ContractWithCustomerDurationDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_RecognitionFromBeginningDeferredRevenueBalanceMember" xlink:label="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_RecognitionFromNewBillingsOfDeferredRevenueMember" xlink:label="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ContractWithCustomerLiabilityForeignCurrencyImpact" xlink:label="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ContractWithCustomerDurationAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ContractWithCustomerDurationAxis" xlink:to="us-gaap_ContractWithCustomerDurationDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ContractWithCustomerDurationAxis" xlink:to="us-gaap_ContractWithCustomerDurationDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerDurationDomain" xlink:to="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerDurationDomain" xlink:to="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US" xlink:label="country_US"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SubscriptionMaintenanceAndSupportServicesMember" xlink:label="ssti_SubscriptionMaintenanceAndSupportServicesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_ZA" xlink:label="country_ZA"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ProfessionalSoftwareDevelopmentServicesMember" xlink:label="ssti_ProfessionalSoftwareDevelopmentServicesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_BS" xlink:label="country_BS"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_Revenues" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="ssti_SubscriptionMaintenanceAndSupportServicesMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_ZA" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="ssti_ProfessionalSoftwareDevelopmentServicesMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_BS" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingStandardsUpdate202108Member" xlink:label="ssti_AccountingStandardsUpdate202108Member"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeedsLLCMember" xlink:label="ssti_LeedsLLCMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ForensicLogicLlcMember" xlink:label="ssti_ForensicLogicLlcMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfDaysAmountsToBeDeterminedAndPaid" xlink:label="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PercentageOfDiscountedCashFlows" xlink:label="ssti_PercentageOfDiscountedCashFlows"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="ssti_AccountingStandardsUpdate202108Member" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_LeedsLLCMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_ForensicLogicLlcMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_StatementScenarioAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_PercentageOfDiscountedCashFlows" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ForensicLogicLlcMember" xlink:label="ssti_ForensicLogicLlcMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_ForensicLogicLlcMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccruedLiabilitiesAndOtherLiabilitiesMember" xlink:label="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AzaveaIncMember" xlink:label="ssti_AzaveaIncMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeedsLLCMember" xlink:label="ssti_LeedsLLCMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:label="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ForensicLogicLlcMember" xlink:label="ssti_ForensicLogicLlcMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_AzaveaIncMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_LeedsLLCMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_ForensicLogicLlcMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_BalanceSheetLocationAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillPeriodIncreaseDecrease" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillPeriodIncreaseDecrease" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SoftwareTechnologyMember" xlink:label="ssti_SoftwareTechnologyMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_PatentsMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="ssti_SoftwareTechnologyMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:label="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ShotSpotterLabsMember" xlink:label="ssti_ShotSpotterLabsMember"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RevenueFromRelatedParties" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="ssti_ShotSpotterLabsMember" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember" xlink:label="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember" xlink:label="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandSeventeenEquityIncentivePlanMember" xlink:label="ssti_TwoThousandSeventeenEquityIncentivePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" xlink:label="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" xlink:label="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="ssti_TwoThousandSeventeenEquityIncentivePlanMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingAndMarketingExpenseMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain_default"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CompensatoryDamagesMember" xlink:label="ssti_CompensatoryDamagesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PunitiveDamagesMember" xlink:label="ssti_PunitiveDamagesMember"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="ssti_CompensatoryDamagesMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="ssti_PunitiveDamagesMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeasedOfficeSpaceArea" xlink:label="ssti_LeasedOfficeSpaceArea"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_default"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeaseAgreementMember" xlink:label="ssti_LeaseAgreementMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeaseCommencementDate" xlink:label="ssti_LeaseCommencementDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseExpirationDate1" xlink:label="us-gaap_LeaseExpirationDate1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventTable" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="ssti_LeasedOfficeSpaceArea" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_TypeOfArrangementAxis" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_default" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="ssti_LeaseAgreementMember" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="ssti_LeaseCommencementDate" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_LeaseExpirationDate1" priority="2" use="optional"/>
    <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_OperatingLeaseExpense" priority="2" use="optional"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>ssti-20220331_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Linkbase Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2022-05-16T17:17:36.9005+00:00 -->
<!-- Copyright (c) 2022 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" 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">
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:href="ssti-20220331.xsd#Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:href="ssti-20220331.xsd#Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:href="ssti-20220331.xsd#StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:href="ssti-20220331.xsd#Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails" xlink:href="ssti-20220331.xsd#DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails" xlink:href="ssti-20220331.xsd#DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails" xlink:type="simple"/>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_PreferredStockValue" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="ssti_AccountsReceivableAndContractAssetCurrent" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill" order="3" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="3" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="4" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="4" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" order="5" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountsReceivableAndContractAssetCurrent" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_SellingAndMarketingExpense" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostOfRevenue" xlink:to="ssti_ImpairmentOfPropertyAndEquipment" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="1" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfRevenue" order="1" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingExpenses" order="1" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="2" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ImpairmentOfPropertyAndEquipment" xlink:label="ssti_ImpairmentOfPropertyAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="1" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProfitLoss" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="0" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="0" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_Depreciation" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="ssti_PaymentForInvestmentInIntangibleAndOtherAssets" order="1" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLinesOfCredit" order="1" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="2" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProductionRelatedImpairmentsOrCharges" order="3" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="3" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="4" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromWarrantExercises" order="4" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans" order="5" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnDispositionOfAssets" order="5" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" order="6" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset" order="7" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="8" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="9" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="10" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="11" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PaymentForInvestmentInIntangibleAndOtherAssets" xlink:label="ssti_PaymentForInvestmentInIntangibleAndOtherAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductionRelatedImpairmentsOrCharges" xlink:label="us-gaap_ProductionRelatedImpairmentsOrCharges"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises" xlink:label="us-gaap_ProceedsFromWarrantExercises"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans" xlink:label="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset" xlink:label="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" order="3" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" order="4" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_Goodwill" order="5" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" order="6" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" order="7" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" order="8" weight="-1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" order="9" weight="-1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="1" weight="-1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="3" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="4" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" order="5" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:label="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ssti_AccountsReceivableAndContractAssetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ssti_AccountsReceivableAndContractAssetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ssti_AccountsReceivableAndContractAssetCurrent" xlink:to="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment" order="2" weight="-1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountsReceivableAndContractAssetCurrent" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FinancingReceivableAllowanceForCreditLossesAdjustment" xlink:label="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="ssti_PrepaidSoftwareAndLicensesCurrent" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidInsurance" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_OtherPrepaidExpenseCurrent" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_DeferredCostsCurrent" order="3" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent" order="4" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PrepaidSoftwareAndLicensesCurrent" xlink:label="ssti_PrepaidSoftwareAndLicensesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherPrepaidExpenseCurrent" xlink:label="us-gaap_OtherPrepaidExpenseCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCurrent" xlink:label="us-gaap_DeferredCostsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_DeferredCosts" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsMiscellaneousNoncurrent" order="1" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCosts" xlink:label="us-gaap_DeferredCosts"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:label="us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedRoyaltiesCurrent" order="1" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" order="2" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_SalesAndExciseTaxPayableCurrent" order="3" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" order="4" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="5" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_OtherLiabilitiesCurrent" order="6" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="us-gaap_AccruedRoyaltiesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesAndExciseTaxPayableCurrent" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" order="1" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails">
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0" weight="1" use="optional"/>
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1" weight="1" use="optional"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>8
<FILENAME>ssti-20220331.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Schema Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2022-05-16T17:17:34.4634+00:00 -->
<!-- Copyright (c) 2022 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<xsd:schema targetNamespace="http://www.shotspotter.com/20220331" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:ssti="http://www.shotspotter.com/20220331" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/instance"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/linkbase"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" namespace="http://xbrl.org/2005/xbrldt"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/country/2021/country-2021.xsd" namespace="http://xbrl.sec.gov/country/2021"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd" namespace="http://fasb.org/srt/2021-01-31"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd" namespace="http://fasb.org/us-gaap/2021-01-31"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd" namespace="http://xbrl.sec.gov/dei/2021q4"/>
  <xsd:import schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" namespace="http://www.xbrl.org/dtr/type/2020-01-21"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ssti-20220331_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:title="Labels link" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ssti-20220331_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:title="Presentation link" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ssti-20220331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:title="Definition link" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ssti-20220331_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:title="Calculation link" xlink:type="simple"/>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" id="Role_DocumentDocumentAndEntityInformation">
        <link:definition>100000 - Document - Document and Entity 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" id="Role_StatementCondensedConsolidatedBalanceSheetsUnaudited">
        <link:definition>100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" id="StatementCondensedConsolidatedBalanceSheetsParenthetical">
        <link:definition>100020 - Statement - Condensed 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" id="Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited">
        <link:definition>100030 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" id="StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited">
        <link:definition>100040 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" id="Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited">
        <link:definition>100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" id="Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
        <link:definition>100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness" id="Role_DisclosureOrganizationAndDescriptionOfBusiness">
        <link:definition>100070 - Disclosure - Organization and Description of Business</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" id="Role_DisclosureSummaryOfSignificantAccountingPolicies">
        <link:definition>100080 - Disclosure - 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures" id="Role_DisclosureRevenueRelatedDisclosures">
        <link:definition>100090 - Disclosure - Revenue Related Disclosures</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitions" id="DisclosureBusinessAcquisitions">
        <link:definition>100100 - Disclosure - Business 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurements" id="Role_DisclosureFairValueMeasurements">
        <link:definition>100110 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwill" id="DisclosureGoodwill">
        <link:definition>100120 - Disclosure - Goodwill</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNet1" id="DisclosureIntangibleAssetsNet1">
        <link:definition>100130 - 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts" id="Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts">
        <link:definition>100140 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactions" id="Role_DisclosureRelatedPartyTransactions">
        <link:definition>100150 - Disclosure - Related Party Transactions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgram" id="DisclosureStockRepurchaseProgram">
        <link:definition>100160 - Disclosure - Stock Repurchase Program</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShare" id="Role_DisclosureNetIncomePerShare">
        <link:definition>100170 - 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlans" id="Role_DisclosureEquityIncentivePlans">
        <link:definition>100180 - Disclosure - Equity Incentive Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" id="Role_DisclosureCommitmentsAndContingencies">
        <link:definition>100190 - Disclosure - Commitments 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEvents1" id="DisclosureSubsequentEvents1">
        <link:definition>100200 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" id="Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>100210 - Disclosure - 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables" id="DisclosureRevenueRelatedDisclosuresTables">
        <link:definition>100220 - Disclosure - Revenue Related Disclosures (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsTables" id="DisclosureBusinessAcquisitionsTables">
        <link:definition>100230 - Disclosure - Business Acquisitions (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables" id="Role_DisclosureFairValueMeasurementsTables">
        <link:definition>100240 - Disclosure - Fair Value Measurements (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillTables" id="DisclosureGoodwillTables">
        <link:definition>100250 - Disclosure - Goodwill (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetTables" id="DisclosureIntangibleAssetsNetTables">
        <link:definition>100260 - 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" id="Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables">
        <link:definition>100270 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareTables" id="Role_DisclosureNetIncomePerShareTables">
        <link:definition>100280 - 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables" id="Role_DisclosureEquityIncentivePlansTables">
        <link:definition>100290 - Disclosure - Equity Incentive Plans (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" id="Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails">
        <link:definition>100300 - Disclosure - Organization and Description of Business - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" id="Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails">
        <link:definition>100310 - Disclosure - Summary of Significant Accounting Policies - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" id="DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails">
        <link:definition>100320 - Disclosure - Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" id="DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails">
        <link:definition>100330 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details" id="DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details">
        <link:definition>100340 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" id="Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails">
        <link:definition>100350 - Disclosure - Revenue Related Disclosures - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails" id="DisclosureBusinessAcquisitionsAdditionalInformationDetails">
        <link:definition>100360 - Disclosure - Business Acquisitions - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails" id="DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails">
        <link:definition>100370 - Disclosure - Business Acquisitions - Summary of Purchase Price Allocation as of Acquisition Date (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" id="Role_DisclosureFairValueMeasurementsAdditionalInformationDetails">
        <link:definition>100380 - Disclosure - Fair Value Measurements - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails" id="Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails">
        <link:definition>100390 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liability (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails" id="DisclosureGoodwillScheduleOfChangesInGoodwillDetails">
        <link:definition>100400 - Disclosure - Goodwill - Schedule of Changes in Goodwill (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" id="DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails">
        <link:definition>100410 - Disclosure - Intangible Assets, Net - Schedule of 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails" id="DisclosureIntangibleAssetsNetAdditionalInformationDetails">
        <link:definition>100420 - Disclosure - Intangible Assets, Net - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" id="DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails">
        <link:definition>100430 - Disclosure - Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails" id="DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails">
        <link:definition>100440 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Asset (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" id="Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails">
        <link:definition>100450 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails" id="Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails">
        <link:definition>100460 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Assets Long-term (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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" id="Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails">
        <link:definition>100470 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails" id="Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails">
        <link:definition>100480 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" id="Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails">
        <link:definition>100490 - Disclosure - Related Party Transactions - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails" id="DisclosureStockRepurchaseProgramAdditionalInformationDetails">
        <link:definition>100500 - Disclosure - Stock Repurchase Program - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails" id="Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails">
        <link:definition>100510 - Disclosure - Net Income per Share - Summary of Computation of 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" id="Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails">
        <link:definition>100520 - Disclosure - Equity Incentive Plans - Schedule of Stock Option 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" id="Role_DisclosureEquityIncentivePlansAdditionalInformationDetails">
        <link:definition>100530 - Disclosure - Equity Incentive Plans - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails" id="DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails">
        <link:definition>100540 - Disclosure - Equity Incentive Plans - Schedule of Outstanding Restricted Stock Units Awards 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" id="Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails">
        <link:definition>100550 - Disclosure - Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" id="DisclosureCommitmentsAndContingenciesAdditionalInformationDetails">
        <link:definition>100560 - Disclosure - Commitments and Contingencies - Additional 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 roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails" id="DisclosureSubsequentEventsAdditionalInformationDetails">
        <link:definition>100570 - Disclosure - Subsequent Events - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element id="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" name="AccruedExpensesAndOtherCurrentLiabilitiesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_AccountsReceivableAndContractAssetCurrent" name="AccountsReceivableAndContractAssetCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded" name="AntidilutiveEmployeeShareBasedAwardsExcluded" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact" name="ContractWithCustomerLiabilityForeignCurrencyImpact" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_EstimatedFairValueOfContingentConsideration" name="EstimatedFairValueOfContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition" name="FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_FairValueOfContingentConsideration" name="FairValueOfContingentConsideration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment" name="FinancingReceivableAllowanceForCreditLossesAdjustment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" name="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="ssti_ImpairmentOfPropertyAndEquipment" name="ImpairmentOfPropertyAndEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset" name="IncreaseDecreaseInAccountsReceivableAndContractAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" name="IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_LeaseCommencementDate" name="LeaseCommencementDate" type="xbrli:dateItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_LeasedOfficeSpaceArea" name="LeasedOfficeSpaceArea" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_NumberOfCitiesInWhichEntityOperates" name="NumberOfCitiesInWhichEntityOperates" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_NumberOfCustomers" name="NumberOfCustomers" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid" name="NumberOfDaysAmountsToBeDeterminedAndPaid" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_NumberOfSubsidiary" name="NumberOfSubsidiary" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="ssti_PaymentForInvestmentInIntangibleAndOtherAssets" name="PaymentForInvestmentInIntangibleAndOtherAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_PercentageOfDiscountedCashFlows" name="PercentageOfDiscountedCashFlows" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" name="PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_PrepaidSoftwareAndLicensesCurrent" name="PrepaidSoftwareAndLicensesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable" name="PropertyAndEquipmentPurchasesIncludedInAccountsPayable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" name="SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" type="xbrli:dateItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" name="SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" type="xbrli:gMonthDayItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" name="SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" type="xbrli:dateItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" name="StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" name="StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" name="StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="ssti_AccountingPoliciesLineItems" name="AccountingPoliciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_BusinessAndNatureOfOperationsLineItems" name="BusinessAndNatureOfOperationsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_AccountingStandardsUpdate202108Member" name="AccountingStandardsUpdate202108Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember" name="AccruedLiabilitiesAndOtherLiabilitiesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_AzaveaIncMember" name="AzaveaIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_CompensatoryDamagesMember" name="CompensatoryDamagesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_CustomerOneMember" name="CustomerOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_CustomerTwoMember" name="CustomerTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_ForensicLogicLlcMember" name="ForensicLogicLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_LeaseAgreementMember" name="LeaseAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_LeedsLLCMember" name="LeedsLLCMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_ProfessionalSoftwareDevelopmentServicesMember" name="ProfessionalSoftwareDevelopmentServicesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_PunitiveDamagesMember" name="PunitiveDamagesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember" name="RecognitionFromBeginningDeferredRevenueBalanceMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember" name="RecognitionFromNewBillingsOfDeferredRevenueMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_ShotSpotterLabsMember" name="ShotSpotterLabsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_SoftwareTechnologyMember" name="SoftwareTechnologyMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_SubscriptionMaintenanceAndSupportServicesMember" name="SubscriptionMaintenanceAndSupportServicesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember" name="TwoThousandAndSeventeenEmployeeStockPurchasePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember" name="TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_TwoThousandSeventeenEquityIncentivePlanMember" name="TwoThousandSeventeenEquityIncentivePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_AccountingPoliciesTable" name="AccountingPoliciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_BusinessAndNatureOfOperationsTable" name="BusinessAndNatureOfOperationsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock" name="ScheduleOfAccountsReceivableAndContractAssetTableTextblock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>ssti-20220331_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Linkbase Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2022-05-16T17:17:36.6194+00:00 -->
<!-- Copyright (c) 2022 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" 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">
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" xlink:href="ssti-20220331.xsd#Role_DocumentDocumentAndEntityInformation" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:href="ssti-20220331.xsd#Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" xlink:href="ssti-20220331.xsd#StatementCondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:href="ssti-20220331.xsd#Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:href="ssti-20220331.xsd#StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:href="ssti-20220331.xsd#Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:href="ssti-20220331.xsd#Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness" xlink:href="ssti-20220331.xsd#Role_DisclosureOrganizationAndDescriptionOfBusiness" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" xlink:href="ssti-20220331.xsd#Role_DisclosureSummaryOfSignificantAccountingPolicies" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures" xlink:href="ssti-20220331.xsd#Role_DisclosureRevenueRelatedDisclosures" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitions" xlink:href="ssti-20220331.xsd#DisclosureBusinessAcquisitions" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurements" xlink:href="ssti-20220331.xsd#Role_DisclosureFairValueMeasurements" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwill" xlink:href="ssti-20220331.xsd#DisclosureGoodwill" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNet1" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNet1" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactions" xlink:href="ssti-20220331.xsd#Role_DisclosureRelatedPartyTransactions" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgram" xlink:href="ssti-20220331.xsd#DisclosureStockRepurchaseProgram" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShare" xlink:href="ssti-20220331.xsd#Role_DisclosureNetIncomePerShare" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlans" xlink:href="ssti-20220331.xsd#Role_DisclosureEquityIncentivePlans" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" xlink:href="ssti-20220331.xsd#Role_DisclosureCommitmentsAndContingencies" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEvents1" xlink:href="ssti-20220331.xsd#DisclosureSubsequentEvents1" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="ssti-20220331.xsd#Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables" xlink:href="ssti-20220331.xsd#DisclosureRevenueRelatedDisclosuresTables" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsTables" xlink:href="ssti-20220331.xsd#DisclosureBusinessAcquisitionsTables" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables" xlink:href="ssti-20220331.xsd#Role_DisclosureFairValueMeasurementsTables" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillTables" xlink:href="ssti-20220331.xsd#DisclosureGoodwillTables" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetTables" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNetTables" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareTables" xlink:href="ssti-20220331.xsd#Role_DisclosureNetIncomePerShareTables" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables" xlink:href="ssti-20220331.xsd#Role_DisclosureEquityIncentivePlansTables" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" xlink:href="ssti-20220331.xsd#DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" xlink:href="ssti-20220331.xsd#DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details" xlink:href="ssti-20220331.xsd#DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureBusinessAcquisitionsAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails" xlink:href="ssti-20220331.xsd#DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails" xlink:href="ssti-20220331.xsd#DisclosureGoodwillScheduleOfChangesInGoodwillDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNetAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" xlink:href="ssti-20220331.xsd#DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails" xlink:href="ssti-20220331.xsd#DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureStockRepurchaseProgramAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails" xlink:href="ssti-20220331.xsd#DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" xlink:href="ssti-20220331.xsd#Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails" xlink:href="ssti-20220331.xsd#DisclosureSubsequentEventsAdditionalInformationDetails" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine2" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityExTransitionPeriod" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding" order="25" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent" order="26" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle" order="27" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName" order="28" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentQuarterlyReport" order="29" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport" order="30" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountsReceivableAndContractAssetCurrent" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="ssti_AccountsReceivableAndContractAssetCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Goodwill" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesAuthorized" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesIssued" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesOutstanding" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesIssued" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenueAbstract" xlink:label="us-gaap_CostOfRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ImpairmentOfPropertyAndEquipment" xlink:label="ssti_ImpairmentOfPropertyAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfRevenueAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_CostOfRevenueAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfRevenueAbstract" xlink:to="ssti_ImpairmentOfPropertyAndEquipment" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfRevenueAbstract" xlink:to="us-gaap_CostOfRevenue" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpenses" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OperatingExpensesAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLoss" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" xlink:label="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" xlink:label="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" xlink:label="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_14"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_15"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity_14" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding_15" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable" xlink:label="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset" xlink:label="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_EstimatedFairValueOfContingentConsideration" xlink:label="ssti_EstimatedFairValueOfContingentConsideration"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PaymentForInvestmentInIntangibleAndOtherAssets" xlink:label="ssti_PaymentForInvestmentInIntangibleAndOtherAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FairValueOfContingentConsideration" xlink:label="ssti_FairValueOfContingentConsideration"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductionRelatedImpairmentsOrCharges" xlink:label="us-gaap_ProductionRelatedImpairmentsOrCharges"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition" xlink:label="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises" xlink:label="us-gaap_ProceedsFromWarrantExercises"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans" xlink:label="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="ssti_EstimatedFairValueOfContingentConsideration" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="ssti_PaymentForInvestmentInIntangibleAndOtherAssets" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLinesOfCredit" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="ssti_FairValueOfContingentConsideration" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProductionRelatedImpairmentsOrCharges" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnDispositionOfAssets" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromWarrantExercises" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitions" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurements" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwill" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillDisclosureTextBlock" xlink:label="us-gaap_GoodwillDisclosureTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNet1" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactions" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgram" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShare" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlans" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEvents1" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsTables" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillTables" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetTables" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock" xlink:label="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:label="us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNoncurrentLiabilitiesTableTextBlock" xlink:label="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_OtherNoncurrentLiabilitiesTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareTables" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessAndNatureOfOperationsLineItems" xlink:label="ssti_BusinessAndNatureOfOperationsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfCitiesInWhichEntityOperates" xlink:label="ssti_NumberOfCitiesInWhichEntityOperates"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessAndNatureOfOperationsTable" xlink:label="ssti_BusinessAndNatureOfOperationsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfSubsidiary" xlink:label="ssti_NumberOfSubsidiary"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_BusinessAndNatureOfOperationsLineItems" xlink:to="ssti_NumberOfCitiesInWhichEntityOperates" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_BusinessAndNatureOfOperationsTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="ssti_BusinessAndNatureOfOperationsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_BusinessAndNatureOfOperationsLineItems" xlink:to="ssti_NumberOfSubsidiary" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_BusinessAndNatureOfOperationsTable" xlink:to="ssti_BusinessAndNatureOfOperationsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingPoliciesTable" xlink:label="ssti_AccountingPoliciesTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingPoliciesLineItems" xlink:label="ssti_AccountingPoliciesLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CustomerOneMember" xlink:label="ssti_CustomerOneMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfCustomers" xlink:label="ssti_NumberOfCustomers"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CustomerTwoMember" xlink:label="ssti_CustomerTwoMember"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ssti_AccountingPoliciesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccountingPoliciesLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccountingPoliciesTable" xlink:to="srt_MajorCustomersAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ssti_CustomerOneMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccountingPoliciesLineItems" xlink:to="ssti_NumberOfCustomers" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ssti_CustomerTwoMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccountingPoliciesTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccountingPoliciesTable" xlink:to="ssti_AccountingPoliciesLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerDurationAxis" xlink:label="us-gaap_ContractWithCustomerDurationAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerDurationDomain" xlink:label="us-gaap_ContractWithCustomerDurationDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_RecognitionFromBeginningDeferredRevenueBalanceMember" xlink:label="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_RecognitionFromNewBillingsOfDeferredRevenueMember" xlink:label="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress" xlink:label="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ContractWithCustomerLiabilityForeignCurrencyImpact" xlink:label="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability_5"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ContractWithCustomerDurationAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerDurationAxis" xlink:to="us-gaap_ContractWithCustomerDurationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerDurationDomain" xlink:to="ssti_RecognitionFromBeginningDeferredRevenueBalanceMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerDurationDomain" xlink:to="ssti_RecognitionFromNewBillingsOfDeferredRevenueMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="ssti_ContractWithCustomerLiabilityForeignCurrencyImpact" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiability_5" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US" xlink:label="country_US"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SubscriptionMaintenanceAndSupportServicesMember" xlink:label="ssti_SubscriptionMaintenanceAndSupportServicesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_ZA" xlink:label="country_ZA"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ProfessionalSoftwareDevelopmentServicesMember" xlink:label="ssti_ProfessionalSoftwareDevelopmentServicesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_BS" xlink:label="country_BS"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_Revenues" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="ssti_SubscriptionMaintenanceAndSupportServicesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_ZA" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain" xlink:to="ssti_ProfessionalSoftwareDevelopmentServicesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_BS" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountingStandardsUpdate202108Member" xlink:label="ssti_AccountingStandardsUpdate202108Member"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" xlink:label="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeedsLLCMember" xlink:label="ssti_LeedsLLCMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ForensicLogicLlcMember" xlink:label="ssti_ForensicLogicLlcMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate" xlink:label="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_NumberOfDaysAmountsToBeDeterminedAndPaid" xlink:label="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PercentageOfDiscountedCashFlows" xlink:label="ssti_PercentageOfDiscountedCashFlows"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="ssti_AccountingStandardsUpdate202108Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_LeedsLLCMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_ForensicLogicLlcMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="srt_StatementScenarioAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_NumberOfDaysAmountsToBeDeterminedAndPaid" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_PercentageOfDiscountedCashFlows" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ForensicLogicLlcMember" xlink:label="ssti_ForensicLogicLlcMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" xlink:label="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_ForensicLogicLlcMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_Goodwill" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccruedLiabilitiesAndOtherLiabilitiesMember" xlink:label="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AzaveaIncMember" xlink:label="ssti_AzaveaIncMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeedsLLCMember" xlink:label="ssti_LeedsLLCMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:label="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ForensicLogicLlcMember" xlink:label="ssti_ForensicLogicLlcMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="ssti_AccruedLiabilitiesAndOtherLiabilitiesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_AzaveaIncMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_LeedsLLCMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ssti_ForensicLogicLlcMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_BalanceSheetLocationAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="us-gaap_LiabilitiesFairValueDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_4"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillPeriodIncreaseDecrease" xlink:label="us-gaap_GoodwillPeriodIncreaseDecrease"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_3"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_GoodwillLineItems" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillPeriodIncreaseDecrease" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill_3" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SoftwareTechnologyMember" xlink:label="ssti_SoftwareTechnologyMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_PatentsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="ssti_SoftwareTechnologyMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:label="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_FinancingReceivableAllowanceForCreditLossesAdjustment" xlink:label="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccountsReceivableAndContractAssetCurrent" xlink:label="ssti_AccountsReceivableAndContractAssetCurrent"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="ssti_FinancingReceivableAllowanceForCreditLossesAdjustment" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="ssti_AccountsReceivableAndContractAssetCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PrepaidSoftwareAndLicensesCurrent" xlink:label="ssti_PrepaidSoftwareAndLicensesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidInsurance" xlink:label="us-gaap_PrepaidInsurance"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherPrepaidExpenseCurrent" xlink:label="us-gaap_OtherPrepaidExpenseCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCurrent" xlink:label="us-gaap_DeferredCostsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="ssti_PrepaidSoftwareAndLicensesCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_PrepaidInsurance" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_OtherPrepaidExpenseCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_DeferredCostsCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_OtherAssetsCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrentDisclosureAbstract" xlink:label="us-gaap_OtherAssetsNoncurrentDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCosts" xlink:label="us-gaap_DeferredCosts"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:label="us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsNoncurrentDisclosureAbstract" xlink:to="us-gaap_DeferredCosts" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:to="us-gaap_OtherAssetsNoncurrentDisclosureAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsNoncurrentDisclosureAbstract" xlink:to="us-gaap_OtherAssetsMiscellaneousNoncurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsNoncurrentDisclosureAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:label="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="us-gaap_AccruedRoyaltiesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesAndExciseTaxPayableCurrent" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="us-gaap_AccruedRoyaltiesCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="us-gaap_SalesAndExciseTaxPayableCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="us-gaap_OtherLiabilitiesCurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrentAbstract" xlink:label="us-gaap_OtherLiabilitiesNoncurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherLiabilitiesNoncurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherLiabilitiesNoncurrentAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherLiabilitiesNoncurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_ShotSpotterLabsMember" xlink:label="ssti_ShotSpotterLabsMember"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RevenueFromRelatedParties" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="ssti_ShotSpotterLabsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FeaturesOfConvertiblePreferredStockAbstract" xlink:label="us-gaap_FeaturesOfConvertiblePreferredStockAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FeaturesOfConvertiblePreferredStockAbstract" xlink:to="us-gaap_ScheduleOfStockByClassTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ClassOfStockLineItems" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="us-gaap_NetIncomeLossAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_AntidilutiveEmployeeShareBasedAwardsExcluded" xlink:label="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLossAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="ssti_AntidilutiveEmployeeShareBasedAwardsExcluded" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember" xlink:label="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember" xlink:label="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_TwoThousandSeventeenEquityIncentivePlanMember" xlink:label="ssti_TwoThousandSeventeenEquityIncentivePlanMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" xlink:label="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" xlink:label="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" xlink:label="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="ssti_TwoThousandSeventeenEquityIncentivePlanMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract" xlink:label="us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingAndMarketingExpenseMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyAbstract" xlink:label="us-gaap_LossContingencyAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_CompensatoryDamagesMember" xlink:label="ssti_CompensatoryDamagesMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_PunitiveDamagesMember" xlink:label="ssti_PunitiveDamagesMember"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_LossContingenciesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="ssti_CompensatoryDamagesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="ssti_PunitiveDamagesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_RangeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeasedOfficeSpaceArea" xlink:label="ssti_LeasedOfficeSpaceArea"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeaseAgreementMember" xlink:label="ssti_LeaseAgreementMember"/>
    <link:loc xlink:type="locator" xlink:href="ssti-20220331.xsd#ssti_LeaseCommencementDate" xlink:label="ssti_LeaseCommencementDate"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseExpirationDate1" xlink:label="us-gaap_LeaseExpirationDate1"/>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="ssti_LeasedOfficeSpaceArea" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="ssti_LeaseAgreementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="ssti_LeaseCommencementDate" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_LeaseExpirationDate1" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_OperatingLeaseExpense" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081707544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2022<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="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2022<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="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<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="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">SSTI<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="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">ShotSpotter, Inc.<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="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001351636<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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<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="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-38107<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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">47-0949915<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="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">39300 Civic Center Dr.<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="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite 300<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="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Fremont<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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">94538<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="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">510<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="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">794-3100<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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<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="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityExTransitionPeriod', window );">Entity Ex Transition Period</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="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,141,630<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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.005 per share<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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<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="top.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>
</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="top.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-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_DocumentQuarterlyReport</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_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_EntityAddressAddressLine2</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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_EntityExTransitionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.</p></div>
<a href="javascript:void(0);" onclick="top.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 7A<br> -Section B<br> -Subsection 2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_EntityExTransitionPeriod</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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>11
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084182808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 8,852<span></span>
</td>
<td class="nump">$ 15,636<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="top.Show.showAR( this, 'defref_ssti_AccountsReceivableAndContractAssetCurrent', window );">Accounts receivable and contract asset, net</a></td>
<td class="nump">21,256<span></span>
</td>
<td class="nump">16,134<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="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">2,456<span></span>
</td>
<td class="nump">2,504<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">32,564<span></span>
</td>
<td class="nump">34,274<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">18,707<span></span>
</td>
<td class="nump">17,409<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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">3,961<span></span>
</td>
<td class="nump">2,323<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="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">23,171<span></span>
</td>
<td class="nump">2,816<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">29,220<span></span>
</td>
<td class="nump">13,564<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="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">2,581<span></span>
</td>
<td class="nump">1,918<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">110,204<span></span>
</td>
<td class="nump">72,304<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">2,449<span></span>
</td>
<td class="nump">1,587<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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, short-term</a></td>
<td class="nump">33,886<span></span>
</td>
<td class="nump">26,235<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="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities', window );">Accrued expenses and other current liabilities</a></td>
<td class="nump">12,952<span></span>
</td>
<td class="nump">6,680<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">49,287<span></span>
</td>
<td class="nump">34,502<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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, long-term</a></td>
<td class="nump">1,623<span></span>
</td>
<td class="nump">474<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="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other liabilities</a></td>
<td class="nump">10,519<span></span>
</td>
<td class="nump">3,513<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">61,429<span></span>
</td>
<td class="nump">38,489<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="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 13)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity</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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock: $0.005 par value; 20,000,000 shares authorized; no shares issued and outstanding as of March 31, 2022 and December 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock: $0.005 par value; 500,000,000 shares authorized; 2,141,630 and 11,703,430 shares issued and outstanding as of March 31, 2022 and December 31, 2021, respectively</a></td>
<td class="nump">61<span></span>
</td>
<td class="nump">58<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="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">147,277<span></span>
</td>
<td class="nump">132,780<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="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(98,398)<span></span>
</td>
<td class="num">(98,785)<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="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(165)<span></span>
</td>
<td class="num">(238)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">48,775<span></span>
</td>
<td class="nump">33,815<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 110,204<span></span>
</td>
<td class="nump">$ 72,304<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_AccountsReceivableAndContractAssetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accounts receivable and contract asset current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_AccountsReceivableAndContractAssetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_AccruedLiabilitiesAndOtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6801-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130532-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>12
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081694760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.005<span></span>
</td>
<td class="nump">$ 0.005<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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">20,000,000<span></span>
</td>
<td class="nump">20,000,000<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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.005<span></span>
</td>
<td class="nump">$ 0.005<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">500,000,000<span></span>
</td>
<td class="nump">500,000,000<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">12,141,630<span></span>
</td>
<td class="nump">11,703,430<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">12,141,630<span></span>
</td>
<td class="nump">11,703,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_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>13
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081782808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 21,214<span></span>
</td>
<td class="nump">$ 15,013<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Costs</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="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">8,290<span></span>
</td>
<td class="nump">6,300<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="top.Show.showAR( this, 'defref_ssti_ImpairmentOfPropertyAndEquipment', window );">Impairment of property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Total costs</a></td>
<td class="nump">8,290<span></span>
</td>
<td class="nump">6,325<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">12,924<span></span>
</td>
<td class="nump">8,688<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">5,576<span></span>
</td>
<td class="nump">3,935<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="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">2,627<span></span>
</td>
<td class="nump">1,713<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="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">4,289<span></span>
</td>
<td class="nump">2,871<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">12,492<span></span>
</td>
<td class="nump">8,519<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">432<span></span>
</td>
<td class="nump">169<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest income, net</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">11<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="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other expense, net</a></td>
<td class="num">(53)<span></span>
</td>
<td class="num">(52)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other income (expense), net</a></td>
<td class="num">(45)<span></span>
</td>
<td class="num">(41)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">387<span></span>
</td>
<td class="nump">128<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 387<span></span>
</td>
<td class="nump">$ 79<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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income (loss) per share, basic</a></td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.01<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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income (loss) per share, diluted</a></td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.01<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="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares used in computing adjusted net income per share, basic</a></td>
<td class="nump">12,156,968<span></span>
</td>
<td class="nump">11,584,605<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="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average shares used in computing adjusted net income per share, diluted</a></td>
<td class="nump">12,315,806<span></span>
</td>
<td class="nump">11,898,362<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_ImpairmentOfPropertyAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Impairment of property and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_ImpairmentOfPropertyAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CostOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123384075&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount of nonoperating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>14
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084155944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 387<span></span>
</td>
<td class="nump">$ 79<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</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="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Change in foreign currency translation adjustment</a></td>
<td class="nump">73<span></span>
</td>
<td class="num">(17)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">$ 460<span></span>
</td>
<td class="nump">$ 62<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-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_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-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>15
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654078129096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)<br> $ 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 Deficit</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2020</a></td>
<td class="nump">$ 34,305<span></span>
</td>
<td class="nump">$ 58<span></span>
</td>
<td class="nump">$ 128,771<span></span>
</td>
<td class="num">$ (94,354)<span></span>
</td>
<td class="num">$ (170)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance, Shares at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,538,998<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">213<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">213<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60,600<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(2,192)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,192)<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(56,162)<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="top.Show.showAR( this, 'defref_ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting', window );">Issuance of common stock from RSUs vested, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,332<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="top.Show.showAR( this, 'defref_ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants', window );">Issuance of common stock in connection with exercise of warrants</a></td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8<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="top.Show.showAR( this, 'defref_ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants', window );">Issuance of common stock in connection with exercise of warrants, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,716<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="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">1,375<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,375<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="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="num">(17)<span></span>
</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">(17)<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="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2021</a></td>
<td class="nump">33,771<span></span>
</td>
<td class="nump">$ 58<span></span>
</td>
<td class="nump">128,175<span></span>
</td>
<td class="num">(94,275)<span></span>
</td>
<td class="num">(187)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, Shares at Mar. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,618,484<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2021</a></td>
<td class="nump">33,815<span></span>
</td>
<td class="nump">$ 58<span></span>
</td>
<td class="nump">132,780<span></span>
</td>
<td class="num">(98,785)<span></span>
</td>
<td class="num">(238)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance, Shares at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,703,430<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">$ 13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options, Shares</a></td>
<td class="nump">8,528<span></span>
</td>
<td class="nump">8,528<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">$ (1,634)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,634)<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock, Shares</a></td>
<td class="num">(57,623,000)<span></span>
</td>
<td class="num">(57,623)<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="top.Show.showAR( this, 'defref_ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting', window );">Issuance of common stock from RSUs vested, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,755<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Issuance of common stock for acquisition</a></td>
<td class="nump">$ 14,266<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">14,263<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of common stock for acquisition, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">464,540<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="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">1,855<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,855<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="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></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="nump">73<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="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">387<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">387<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2022</a></td>
<td class="nump">$ 48,775<span></span>
</td>
<td class="nump">$ 61<span></span>
</td>
<td class="nump">$ 147,277<span></span>
</td>
<td class="num">$ (98,398)<span></span>
</td>
<td class="num">$ (165)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, Shares at Mar. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,141,630<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_ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period shares in connection with exercise of warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period shares restricted stock award vesting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period value in connection with exercise of warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123468992&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=123454820&amp;loc=SL4569643-111683<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=123454820&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>16
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084195064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</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="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 387,000<span></span>
</td>
<td class="nump">$ 79,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="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by (used in) operating activities:</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="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation of property and equipment</a></td>
<td class="nump">1,487,000<span></span>
</td>
<td class="nump">1,393,000<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="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">695,000<span></span>
</td>
<td class="nump">259,000<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="top.Show.showAR( this, 'defref_us-gaap_ProductionRelatedImpairmentsOrCharges', window );">Impairment of property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,000<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">1,855,000<span></span>
</td>
<td class="nump">1,375,000<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="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for accounts receivable</a></td>
<td class="nump">77,000<span></span>
</td>
<td class="nump">44,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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset', window );">Accounts receivable and contract asset</a></td>
<td class="num">(4,976,000)<span></span>
</td>
<td class="num">(3,929,000)<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="num">(439,000)<span></span>
</td>
<td class="nump">134,000<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">145,000<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities', window );">Accrued expenses and other current liabilities</a></td>
<td class="num">(1,220,000)<span></span>
</td>
<td class="num">(1,451,000)<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">3,417,000<span></span>
</td>
<td class="nump">430,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">1,283,000<span></span>
</td>
<td class="num">(1,496,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property and equipment</a></td>
<td class="num">(1,900,000)<span></span>
</td>
<td class="num">(1,233,000)<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="top.Show.showAR( this, 'defref_ssti_PaymentForInvestmentInIntangibleAndOtherAssets', window );">Investment in intangible and other assets</a></td>
<td class="num">(8,000)<span></span>
</td>
<td class="num">(13,000)<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Business acquisition, net of cash acquired</a></td>
<td class="num">(4,618,000)<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(6,526,000)<span></span>
</td>
<td class="num">(1,231,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="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</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="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(403,000)<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">13,000<span></span>
</td>
<td class="nump">213,000<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchases of common stock</a></td>
<td class="num">(1,634,000)<span></span>
</td>
<td class="num">(2,192,000)<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromWarrantExercises', window );">Proceeds from exercise of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(1,621,000)<span></span>
</td>
<td class="num">(2,374,000)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Decrease in cash, cash equivalents and restricted cash</a></td>
<td class="num">(6,864,000)<span></span>
</td>
<td class="num">(5,101,000)<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="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate on cash and cash equivalents</a></td>
<td class="nump">80,000<span></span>
</td>
<td class="num">(2,000)<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="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at beginning of year</a></td>
<td class="nump">15,636,000<span></span>
</td>
<td class="nump">16,043,000<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="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at end of year</a></td>
<td class="nump">8,852,000<span></span>
</td>
<td class="nump">10,940,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="top.Show.showAR( this, 'defref_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract', window );"><strong>Supplemental disclosure of non-cash financing activities:</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="top.Show.showAR( this, 'defref_ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable', window );">Property and equipment purchases included in accounts payable</a></td>
<td class="nump">731,000<span></span>
</td>
<td class="nump">$ 590,000<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="top.Show.showAR( this, 'defref_ssti_FairValueOfContingentConsideration', window );">Fair value of contingent consideration</a></td>
<td class="nump">12,400,000<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="top.Show.showAR( this, 'defref_ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition', window );">Fair value of common stock issued as consideration for business acquisition</a></td>
<td class="nump">$ 14,266,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_ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of common stock issued as consideration for business acquisition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_FairValueOfContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_FairValueOfContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase decrease in accounts receivable and contract asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_PaymentForInvestmentInIntangibleAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment for investment in intangible and other assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_PaymentForInvestmentInIntangibleAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Property and equipment purchases included in accounts payable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-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_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123371682&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-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_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ProceedsFromWarrantExercises">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from holders exercising their stock warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromWarrantExercises</td>
</tr>
<tr>
<td style="padding-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_ProductionRelatedImpairmentsOrCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Nonrecurring impairment charges related to the write-off of production-related equipment and inventory. This tag is used when an Entity charges this cost to cost of goods sold.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductionRelatedImpairmentsOrCharges</td>
</tr>
<tr>
<td style="padding-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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=123454820&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086681288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Organization and Description of Business<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [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="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Organization and Description of Business</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:10.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 1. Organization and Description of Business</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter, Inc. (the &#8220;Company&#8221;) provides precision-policing solutions for law enforcement and security personnel to help prevent and reduce gun violence and make cities, campuses and facilities safer. The Company&#8217;s flagship product, ShotSpotter Respond is the leading outdoor gunshot detection, location and alerting system trusted by over </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">130</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">cities as of March 31, 2022. ShotSpotter Connect creates crime forecasts designed to enable more precise and effective use of patrol resources to deter crime. The Company&#8217;s case management solution, ShotSpotter Investigate, and search and analysis solution, COPLINK X, are cloud-based investigative platforms to help law enforcement agencies modernize every phase of an investigation and accelerate case work with easy-to-use software tools. The Company offers its solutions on a Software as a Service, ("SaaS"), subscription model to its customers. ShotSpotter Labs is the Company&#8217;s effort to support innovative uses of its technology to help protect wildlife and the environment.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company&#8217;s principal executive offices are located in Fremont, California. The Company has </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">five</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> wholly-owned subsidiaries.</span></p><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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI http://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI http://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>18
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086756216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 2. Summary of Significant Accounting Policies</span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (&#8220;U.S. GAAP&#8221;) and applicable rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2021 (&#8220;Annual Report&#8221;) filed with the SEC on March 29, 2022.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive income (loss), stockholders&#8217; equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2022 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company&#8217;s financial position and results of operations.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company makes an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.</span></p></div><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Risk</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Credit Risk</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its cash deposits at two domestic and four international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents.</span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Accounts Receivable and Contract Asset</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; At March 31, 2022, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">two</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">38</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">15</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#8217;s total accounts receivable, respectively. At December 31, 2021, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">one</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customer accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">65</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#8217;s total accounts receivable.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Revenues</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; For the three months ended March 31, 2022, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">two</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">38</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#8217;s total revenues, respectively. For the three months ended March 31, 2021, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">two</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">34</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#8217;s total revenues, respectively.</span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Suppliers</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8211;</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company&#8217;s proprietary sensors.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">  </span></p></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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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>19
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086775640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Related Disclosures<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Related Disclosures</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 3. Revenue Related Disclosures</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The changes in deferred revenue were as follows (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.951%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.867%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.822%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.867%;"/>
        <td style="width:0.901%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">26,709</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">24,578</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Deferred revenues acquired (Note 4 - Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5,382</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;New billings</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">24,527</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">15,432</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Revenue recognized during the year from beginning balance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">9,825</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10,103</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Revenue recognized during the year from new billings</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11,292</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4,898</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Foreign currency impact</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">35,509</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">25,008</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8203;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8203;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8203;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8203;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><div style="font-size:11.0pt;font-family:Calibri;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.582%;"/>
        <td style="width:16.639%;"/>
        <td style="width:1.716%;"/>
        <td style="width:1.344%;"/>
        <td style="width:15.037%;"/>
        <td style="width:0.682%;"/>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_ca45c7cb-2415-41ef-9a5e-24d3940aba6b;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></span></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">40,844</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_31c5cee5-7133-4e5e-99f4-3fd183c09aa4;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2023</span></span></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">34,805</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_2090c233-5365-4527-bf22-621b0a71f29f;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2024</span></span></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">23,213</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_c71bd0db-78cc-4b95-8339-567b07db49ef;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Thereafter</span></span></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,954</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">111,816</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The timing of certain revenue recognition included in the table above is based on estimates of go-live dates for contracts not yet live. Contractually committed revenue includes deferred revenue as of March 31, 2022 and amounts under contract that will be invoiced after March 31, 2022.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022, the Company recognized revenues of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20.8</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the United States, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.4</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the Bahamas and South Africa. During the three months ended March 31, 2021, the Company recognized revenues of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">14.8</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the United States, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.2</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the Bahamas and South Africa.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022, the Company recognized revenues of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">19.0</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from monthly subscription, maintenance and support services, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2.2</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from professional software development services. During the three months ended March 31, 2021, the Company recognized revenues of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13.3</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from monthly subscription, maintenance and support services, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.7</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million from professional software development services.</span></p><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>20
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086751944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Acquisitions<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsAbstract', window );"><strong>Business Combinations [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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Acquisitions</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 4. Business Acquisitions</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.1020833333333333;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In October 2021, the Financial Accounting Standards Board issued Accounting Standards Update ("ASU") 2021-08, </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts from Customers</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">. ASU 2021-08 aimed to improve the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability and the effect of payment terms on subsequent revenue recognized by the acquirer. These amendments were effective prospectively for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The Company </span><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">adopted</span></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> this ASU on </span><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2022</span></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On </span><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 3, 2022</span></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, the Company completed the acquisition of </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">100</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the membership interests in Forensic Logic, LLC (&#8220;Forensic Logic&#8221;) for purchase consideration of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4.9</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, subject to working capital adjustments, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">14.3</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">464,540</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares of ShotSpotter common stock based on the closing price on the date of acquisition. The purchase consideration also included a contingent earnout agreement. Up to $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">9.5</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in contingent earnout will be payable based on Forensic Logic&#8217;s revenues generated during 2022. An additional amount up to $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10.5</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million contingent earnout will be payable based on Forensic Logic&#8217;s revenues during 2023. The amounts are payable within approximately </span><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">120 days</span></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> after the end of 2022 and 2023, respectively. The estimated fair value of the contingent earnout on the date of acquisition is $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12.4</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million, resulting in a total estimated purchase consideration of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">31.6</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million. The acquisition will enable the Company to broaden its suite of precision policing solutions and cloud-based investigative platforms to offer its customers.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the allocation of the purchase price as of the acquisition date, January 3, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.661%;"/>
        <td style="width:16.744%;"/>
        <td style="width:1.378%;"/>
        <td style="width:1.337%;"/>
        <td style="width:14.985%;"/>
        <td style="width:0.895%;"/>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">303</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable and contract asset, net</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">220</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">200</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease right-of-use asset</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,893</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Software technology</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7,140</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Tradename</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,000</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8,200</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Goodwill</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20,355</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other asset</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">186</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">635</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liabilities</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,893</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5,382</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total estimated consideration</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">31,587</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">purchase price allocation above is final except for measure period adjustments which may be required in the future following purchase price adjustments related to working capital true-up. Goodwill primarily represents the value of cash flows from future customers and the employee workforce. The Company expects to deduct the amortization of goodwill and intangible assets for tax purposes. A portion of the amortization deduction will commence upon settlement of contingent consideration and contingent liabilities. The Company valued the intangible assets using income-based</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">approaches. </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Significant assumptions included forecasts of revenues, cost of revenues, research and development expense, sales and marketing expense, general and administrative expense, technology lives, royalty rates, working capital rates, customer attrition rates and other estimates. The Company discounted the cash flows at </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">24</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">%, reflecting the risk profile of the assets.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Acquisition-related expenses totaled $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.6</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million, of which $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.1</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million is included in general and administrative expense for the quarter ended March 31, 2022 and the remainder was incurred during the year ended December 31, 2021.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The unaudited pro forma combined revenue and net income presented below have been prepared as if the Company had acquired Forensic Logic on January 1, 2021. The unaudited pro forma financial information has been derived from the consolidated statements of operations of the Company and Forensic Logic for the below period. The historical financial information has been adjusted in the unaudited combined pro forma information based upon currently available information and certain estimates and assumptions. The actual effect of the transactions ultimately may differ from the pro forma adjustments included herein. However, management believes that the assumptions used to prepare the pro forma adjustments provide a reasonable basis for presenting the significant effects of the transactions as currently contemplated and that the pro forma adjustments are factually supportable, give appropriate effect to the expected impact of events that are directly attributable to the transactions, and reflect those items expected to have a continuing impact on the Company. The unaudited pro forma financial information as presented below is for informational purposes only and is not necessarily indicative of the results of operations that would have been achieved if the acquisition had taken place on January 1, 2021.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The unaudited pro forma combined revenue and net loss for the three months ended March 31, 2021 would have been $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16.4</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.1</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p><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_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-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>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654186481256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 5. Fair Value Measurements</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In October 2018, upon the acquisition of certain technology, referred to as HunchLab, from Azavea, Inc., the Company recognized a contingent consideration liability classified within Level III of the fair value hierarchy because some of the inputs used in its measurement were neither directly nor indirectly observable. In February 2021, based on the relevant revenues earned during the three-year contingent consideration period, the Company paid $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.4</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million, resulting in a reduction of the contingent consideration liability.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In November 2020, using a Monte Carlo Simulation approach, the Company estimated the fair value of the contingent consideration at the acquisition date of LEEDS to be $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.2</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million. During the fourth quarter of fiscal 2021, the fair value of the contingent consideration was increased by $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.3</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million based upon estimated 2022 revenue targets, representing an adjustment to the most likely outcome expected for the liability. There have been no changes in the assumptions or fair value of the LEEDS contingent consideration liability during the three months ended March 31, 2022.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In January 2022, using a Monte Carlo Simulation approach, the Company estimated the fair value of the contingent consideration liability classified within Level III of the fair value hierarchy at the acquisition of Forensic Logic to be $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12.4</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:11.0pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The changes in the fair value of contingent consideration liability for the three months ended March 31, 2022 and 2021 are as follows (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.295%;"/>
        <td style="width:1.781%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.651%;"/>
        <td style="width:0.694%;"/>
        <td style="width:1.356%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.63%;"/>
        <td style="width:0.901%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,500</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">573</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Payment of contingent consideration liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">403</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Change in fair value of contingent consideration</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration - Forensic Logic ( Note 4 - Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,400</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13,900</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">170</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">There were </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">no</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> transfers into or out of Level III during the three months ended March 31, 2022 and 2021. As of March 31, 2022, contingent consideration of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6.7</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million is included in Accrued expenses and other current liabilities in the condensed consolidated balance sheet as it is forecasted that the achievement of milestones will occur within the next 12 months, and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7.2</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million is included in Other liabilities in the condensed consolidated balance sheet.</span></p><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>22
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654164453384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillDisclosureTextBlock', window );">Goodwill</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 6. Goodwill</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:11.0pt;font-family:Calibri;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The change in goodwill is as follows (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.343%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.12%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.367%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.13%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31, 2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,816</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,811</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Acquisition of Forensic Logic (see Note 4&#8212;Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20,355</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Change during the period</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">23,171</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,816</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_GoodwillDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=2144439<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>23
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084303800">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets, Net</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 7. Intangible Assets, net</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:6.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:11.0pt;font-family:Calibri;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consist of the following (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.183%;"/>
        <td style="width:1.336%;"/>
        <td style="width:14.718%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.761%;"/>
        <td style="width:1.336%;"/>
        <td style="width:14.604%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.761%;"/>
        <td style="width:1.336%;"/>
        <td style="width:14.718%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31, 2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Gross</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated Amortization</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">22,770</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,535</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">21,235</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Patents</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,226</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,099</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">127</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Software technology</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7,140</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">254</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,886</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Tradename</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,000</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">972</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;&#160;Total intangible assets, net</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">32,136</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,916</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">29,220</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.671%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.673%;"/>
        <td style="width:0.683%;"/>
        <td style="width:1.584%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.508%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.584%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.673%;"/>
        <td style="width:0.683%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Gross</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated Amortization</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">14,570</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,131</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13,439</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Patents</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,214</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,089</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">125</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;&#160;Total intangible assets, net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">15,784</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,220</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13,564</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Intangible amortization expense was approximately $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">695,000</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">259,000</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> for the three months ended March 31, 2022 and 2021, respectively.</span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table presents future intangible asset amortization as of March 31, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:70.639%;"/>
        <td style="width:10.631%;"/>
        <td style="width:1.338%;"/>
        <td style="width:16.713%;"/>
        <td style="width:0.679%;"/>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Remainder of 2022</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,106</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,640</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2024</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,637</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2025</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,595</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2026</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,577</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Thereafter</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16,665</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">29,220</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>24
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084303800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Details of Certain Condensed Consolidated Balance Sheet Accounts<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related Disclosures [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="top.Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Details of Certain Condensed Consolidated Balance Sheet Accounts</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 8. Details of Certain Condensed Consolidated Balance Sheet Accounts</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:11.0pt;font-family:Calibri;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable and contract assets (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.974%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.86%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.87%;"/>
        <td style="width:0.901%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20,271</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16,167</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contract asset</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,135</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">41</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Allowance for potential credit losses</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">150</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">74</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">21,256</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16,134</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:64.085%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.027%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.048%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid software and licenses</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">742</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">756</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">245</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">611</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other prepaid expenses</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">472</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">198</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred commissions</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">895</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">822</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">102</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">117</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,456</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,504</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other assets (long-term) (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.085%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.027%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.048%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred commissions</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,011</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,723</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">570</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">195</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,581</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,918</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:64.078%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.036%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.046%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Personnel-related accruals</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4,017</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4,864</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Royalties payable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">49</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">47</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Professional fees</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">692</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">925</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales/ use tax payable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">218</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">167</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,650</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#9472;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">861</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">409</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">465</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">268</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,952</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,680</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><div style="font-size:11.0pt;font-family:Calibri;"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other liabilities (long-term) (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.078%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.036%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.046%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liabilities</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3,269</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,013</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7,250</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,500</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10,519</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3,513</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -URI http://asc.fasb.org/topic&amp;trid=2122208<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="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>25
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086653752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 9. Related Party Transactions</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022 and 2021, the Company recognized approximately $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16,000</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">36,000</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, respectively, in revenues from ShotSpotter Labs projects with charitable organizations that have received donations from one of the Company&#8217;s directors and from one of the Company&#8217;s significant stockholders.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><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_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI http://asc.fasb.org/topic&amp;trid=2122745<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39691-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>26
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654087618200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchase Program<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stock Repurchase Program</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 10. Stock Repurchase Program</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2022, the Company repurchased </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">57,623</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares of its common stock at an average price of $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28.34</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> per share for $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.6</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million. The repurchases were made in open market transactions using cash on hand, and all of the shares repurchased were retired. At March 31, 2022, $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.4</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million remained available for repurchase under the Company's stock repurchase program.</span></p><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496180-112644<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086732584">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Net Income per Share</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 11. Net Income per Share</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The computation of basic net income per share is based on the weighted-average number of shares of common stock outstanding during each period. The computation of diluted net income per share is based on the weighted-average number of shares outstanding during the period plus, when their effect is dilutive, incremental shares consisting of shares subject to stock options, restricted stock units, employee stock purchase plan purchase rights and warrants.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the computation of basic and diluted net income per share (in thousands, except share and per share data):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:56.814%;"/>
        <td style="width:1.346%;"/>
        <td style="width:18.486%;"/>
        <td style="width:0.673%;"/>
        <td style="width:2.175%;"/>
        <td style="width:1.346%;"/>
        <td style="width:18.486%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><br/></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Numerator:</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">387</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">79</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Denominator:</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted-average shares outstanding, basic</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,156,968</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11,584,605</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted-average shares outstanding, diluted</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,315,806</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11,898,362</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income per share, basic</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.03</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.01</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income per share, diluted</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.03</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.01</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Anti-dilutive employee share-based awards, excluded</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">952,776</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">544,815</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>28
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086747896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity Incentive Plans<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [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="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Equity Incentive Plans</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 12. Equity Incentive Plans</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock options:</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the &#8220;2017 Plan") during the three months ended March 31, </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2022 is as follows:</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.363%;"/>
        <td style="width:1.605%;"/>
        <td style="width:0.684%;"/>
        <td style="width:13.598%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.605%;"/>
        <td style="width:1.346%;"/>
        <td style="width:13.225%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Number<br/>of Options<br/>Outstanding</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted<br/>Average<br/>Exercise<br/>Price</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Outstanding as of December 31, 2021</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">783,928</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28.00</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Granted</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">454,678</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">26.50</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exercised</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8,528</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.43</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Canceled</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11,699</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">38.20</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Outstanding as of March 31, 2022</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,218,379</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">27.51</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Under an &#8220;evergreen&#8221; provision, the number of shares of common stock reserved for issuance under the 2017 Plan will automatically increase on </span><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1</span></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> of each year, beginning on </span><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2018</span></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> and ending on and including </span><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2027</span></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">, by </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of shares of the Company's capital stock outstanding on December 31 of the preceding calendar year or a lesser number of shares determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under the 2017 Plan was increased on January 1, 2022 by </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">585,172</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares, which was equal to </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of shares of capital stock outstanding on December 31, 2021.</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Restricted stock units:</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><div style="font-size:11.0pt;font-family:Calibri;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2022 is as follows:</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.366%;"/>
        <td style="width:1.605%;"/>
        <td style="width:0.683%;"/>
        <td style="width:13.586%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.605%;"/>
        <td style="width:1.346%;"/>
        <td style="width:13.234%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Number of Restricted Stock Units</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted<br/>Average<br/>Grant Date Fair Value per RSU</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Unvested awards outstanding as of December 31, 2021</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">128,810</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">35.09</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Granted</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">154,379</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">26.50</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Vested</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">22,755</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">25.35</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Unvested awards outstanding as of March 31, 2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">260,434</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">30.85</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2017 Employee Stock Purchase Plan</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">There were </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">no</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares issued under the 2017 Employee Stock Purchase Plan ("2017 ESPP') during the three months ended March 31, 2022.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The 2017 ESPP contains an &#8220;evergreen&#8221; provision that provides for an automatic annual share increase on </span><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">January 1</span></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> of each year, in an amount equal to the lesser of (1) </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of shares of common stock outstanding on December 31</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;vertical-align:top;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;">st</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> of the preceding calendar year, (2) </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">150,000</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares or (3) such number of shares as determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under our 2017 ESPP was increased on January 1, 2022 by </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">150,000</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> shares. </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The number of shares available for grant under the 2017 ESPP was </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">549,328</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> as of March 31, 2022.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10.0pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.166%;"/>
        <td style="width:1.605%;"/>
        <td style="width:1.346%;"/>
        <td style="width:13.163%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.605%;"/>
        <td style="width:1.346%;"/>
        <td style="width:13.422%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenues</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">456</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">392</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales and marketing</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">463</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">371</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">234</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">181</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">702</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">431</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,855</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,375</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086707544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Note 13. Commitments and Contingencies</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingencies</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On August 28, 2018, Silvon S. Simmons (the &#8220;Plaintiff&#8221;) amended a complaint against the City of Rochester, New York and various city employees, filed in the United States District Court, Western District of New York, to add the Company and employees as a defendant. The amended complaint alleges conspiracy to violate plaintiff&#8217;s civil rights, denial of the right to a fair trial, and malicious prosecution. The Plaintiff claims that ShotSpotter colluded with the City of Rochester to fabricate and create gunshot alert evidence to secure Plaintiff&#8217;s conviction. On the basis of the allegations, the Plaintiff has petitioned for compensatory and punitive damages and other costs and expenses, including attorney&#8217;s fees. The Company believes that the Plaintiff&#8217;s claims are without merit and is disputing them vigorously.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">On October 12, 2021, the Company filed a defamation lawsuit against VICE Media, LLC ("VICE"), in Delaware Superior Court. The complaint alleges that VICE intentionally misrepresented court records and targeted ShotSpotter with false accusations in order to cultivate a subversive brand that enables VICE to sell sponsored content to corporate advertisers. ShotSpotter seeks more than $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">200</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in compensatory damages and $</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">100</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> million in punitive damages.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company may become subject to legal proceedings, as well as demands and claims that arise in the normal course of business. Such claims, even if not meritorious, could result in the expenditure of significant financial and management resources. The Company makes a provision for a liability relating to legal matters when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. These provisions are reviewed</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">and adjusted to include the impacts of negotiations, estimated settlements, legal rulings, advice of legal counsel, and other information and events pertaining to a particular matter.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">An unfavorable outcome on any litigation matters could require payment of substantial damages, or, in connection with any intellectual property infringement claims, could require the Company to pay ongoing royalty payments or could prevent the Company from selling certain of our products. As a result, a settlement of, or an unfavorable outcome on, any of the matters referenced above or other litigation matters could have a material adverse effect on the Company&#8217;s business, operating results, financial condition and cash flows.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The COVID-19 pandemic has resulted in a substantial curtailment of business activities worldwide and is causing weakened economic conditions, both in the United States and many countries abroad. As part of intensifying efforts to contain the spread of COVID-19, many companies and state, local and foreign governments have imposed restrictions, including shelter-in-place orders and travel bans. While some of these companies and jurisdictions have relaxed such restrictions, in some cases, the restrictions were put back in place after having been lifted. The Company understands that the ongoing COVID-19 pandemic, associated travel restrictions and social distancing requirements may continue to have an adverse impact on its results of operations. While the ultimate economic impact of the COVID-19 pandemic is highly uncertain, the Company expects that its business and results of operations, including its revenues, earnings and cash flows from operations, may continue to be adversely impacted for the balance of 2022.</span></p><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company may be adversely affected by increasing social unrest, protests against racial inequality, protests against police brutality and associated ongoing movements such as &#8220;Defund the Police.&#8221; These events may directly or indirectly affect police agency budgets and funding available to current and potential customers. Participants in these events may also attempt to create the perception that the Company&#8217;s solutions are contributing to the &#8220;problem,&#8221; which may adversely affect the Company, its business and results of operations, including its revenues, earnings and cash flows from operations.</span><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>30
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654164142520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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="top.Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (&#8220;U.S. GAAP&#8221;) and applicable rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2021 (&#8220;Annual Report&#8221;) filed with the SEC on March 29, 2022.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive income (loss), stockholders&#8217; equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2022 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><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="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company&#8217;s financial position and results of operations.</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company makes an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.</span></p><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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentrations of Risk</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Risk</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Credit Risk</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its cash deposits at two domestic and four international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents.</span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Accounts Receivable and Contract Asset</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; At March 31, 2022, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">two</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">38</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">15</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#8217;s total accounts receivable, respectively. At December 31, 2021, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">one</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customer accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">65</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#8217;s total accounts receivable.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Revenues</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> &#8211; For the three months ended March 31, 2022, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">two</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">38</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#8217;s total revenues, respectively. For the three months ended March 31, 2021, </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">two</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">34</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">% of the Company&#8217;s total revenues, respectively.</span></p><p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Suppliers</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8211;</span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company&#8217;s proprietary sensors.</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">  </span></p><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123345438&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>31
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086618312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Related Disclosures (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Changes in Deferred Revenue</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The changes in deferred revenue were as follows (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.951%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.867%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.822%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.867%;"/>
        <td style="width:0.901%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">26,709</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">24,578</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Deferred revenues acquired (Note 4 - Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5,382</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;New billings</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">24,527</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">15,432</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Revenue recognized during the year from beginning balance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">9,825</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10,103</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Revenue recognized during the year from new billings</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11,292</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4,898</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Foreign currency impact</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">35,509</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">25,008</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8203;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8203;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8203;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8203;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock', window );">Schedule of Remaining Performance Obligations for Contractually Committed Revenues</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.582%;"/>
        <td style="width:16.639%;"/>
        <td style="width:1.716%;"/>
        <td style="width:1.344%;"/>
        <td style="width:15.037%;"/>
        <td style="width:0.682%;"/>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_ca45c7cb-2415-41ef-9a5e-24d3940aba6b;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></span></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">40,844</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_31c5cee5-7133-4e5e-99f4-3fd183c09aa4;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2023</span></span></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">34,805</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_2090c233-5365-4527-bf22-621b0a71f29f;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2024</span></span></span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">23,213</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="font-size:10.0pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_c71bd0db-78cc-4b95-8339-567b07db49ef;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Thereafter</span></span></span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,954</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">111,816</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>32
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086656248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsAbstract', window );"><strong>Business Combinations [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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Summary of Purchase Price Allocation as of Acquisition Date</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the allocation of the purchase price as of the acquisition date, January 3, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.661%;"/>
        <td style="width:16.744%;"/>
        <td style="width:1.378%;"/>
        <td style="width:1.337%;"/>
        <td style="width:14.985%;"/>
        <td style="width:0.895%;"/>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">303</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable and contract asset, net</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">220</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">200</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease right-of-use asset</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,893</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Software technology</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7,140</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Tradename</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,000</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8,200</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Goodwill</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20,355</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other asset</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">186</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">635</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liabilities</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,893</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred revenue</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5,382</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total estimated consideration</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">31,587</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock</td>
</tr>
<tr>
<td style="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>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084294648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Summary of Changes in Fair Value of Contingent Consideration Liability</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The changes in the fair value of contingent consideration liability for the three months ended March 31, 2022 and 2021 are as follows (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.295%;"/>
        <td style="width:1.781%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.651%;"/>
        <td style="width:0.694%;"/>
        <td style="width:1.356%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.63%;"/>
        <td style="width:0.901%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,500</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">573</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Payment of contingent consideration liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">403</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Change in fair value of contingent consideration</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration - Forensic Logic ( Note 4 - Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,400</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13,900</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">170</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19279-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="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>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086685432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Changes in Goodwill</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The change in goodwill is as follows (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.343%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.12%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.367%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.13%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31, 2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Beginning balance</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,816</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,811</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Acquisition of Forensic Logic (see Note 4&#8212;Business Acquisitions)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20,355</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Change during the period</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#8212;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">5</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Ending balance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">23,171</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,816</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="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>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654078531592">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets Net</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consist of the following (in thousands):</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.183%;"/>
        <td style="width:1.336%;"/>
        <td style="width:14.718%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.761%;"/>
        <td style="width:1.336%;"/>
        <td style="width:14.604%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.761%;"/>
        <td style="width:1.336%;"/>
        <td style="width:14.718%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31, 2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Gross</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated Amortization</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">22,770</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,535</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">21,235</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Patents</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,226</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,099</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">127</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Software technology</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7,140</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">254</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,886</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Tradename</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,000</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">972</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;&#160;Total intangible assets, net</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">32,136</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,916</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">29,220</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.671%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.673%;"/>
        <td style="width:0.683%;"/>
        <td style="width:1.584%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.508%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.584%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.673%;"/>
        <td style="width:0.683%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="10" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Gross</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Accumulated Amortization</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">14,570</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,131</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13,439</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Patents</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,214</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,089</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">125</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;&#160;Total intangible assets, net</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">15,784</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,220</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">13,564</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Future Intangible Asset Amortization</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table presents future intangible asset amortization as of March 31, 2022 (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:70.639%;"/>
        <td style="width:10.631%;"/>
        <td style="width:1.338%;"/>
        <td style="width:16.713%;"/>
        <td style="width:0.679%;"/>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Remainder of 2022</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,106</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,640</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2024</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,637</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2025</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,595</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2026</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,577</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Thereafter</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16,665</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">29,220</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>36
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654087484296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related Disclosures [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="top.Show.showAR( this, 'defref_ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock', window );">Schedule of Accounts Receivable and Contract Asset</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable and contract assets (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:63.974%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.86%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:14.87%;"/>
        <td style="width:0.901%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">20,271</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16,167</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contract asset</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,135</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">41</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Allowance for potential credit losses</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">150</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">74</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">21,256</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">16,134</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock', window );">Schedule of Prepaid Expenses and Other Current Assets</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses and other current assets (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:64.085%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.027%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.048%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid software and licenses</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">742</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">756</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Prepaid insurance</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">245</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">611</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other prepaid expenses</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">472</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">198</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred commissions</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">895</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">822</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">102</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">117</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,456</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,504</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock', window );">Schedule of Other Assets Long-term</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other assets (long-term) (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.085%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.027%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.048%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Deferred commissions</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,011</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,723</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">570</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">195</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,581</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,918</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Expenses and Other Current Liabilities</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:64.078%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.036%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.046%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Personnel-related accruals</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4,017</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">4,864</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Royalties payable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">49</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">47</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Professional fees</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">692</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">925</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales/ use tax payable</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">218</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">167</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,650</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#9472;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">861</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">409</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">465</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">268</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,952</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">6,680</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.showAR( this, 'defref_us-gaap_OtherNoncurrentLiabilitiesTableTextBlock', window );">Schedule of Other Long-term Liabilities</a></td>
<td class="text"><p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Other liabilities (long-term) (in thousands):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.078%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.036%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.802%;"/>
        <td style="width:1.346%;"/>
        <td style="width:15.046%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">December 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liabilities</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3,269</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2,013</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Contingent consideration liability</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">7,250</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,500</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span>&#160;</p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">10,519</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">3,513</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of accounts receivable and contract asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_OtherNoncurrentLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of other noncurrent liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncurrentLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the (a) 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 (accounts payable); (b) other payables; and (c) accrued liabilities. 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). An alternative caption includes accrued expenses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfOtherAssetsNoncurrentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of noncurrent assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock</td>
</tr>
<tr>
<td style="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>37
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086635784">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Summary of Computation of Basic and Diluted Net Income per Share</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the computation of basic and diluted net income per share (in thousands, except share and per share data):</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;">
       <tr style="visibility:collapse;">
        <td style="width:56.814%;"/>
        <td style="width:1.346%;"/>
        <td style="width:18.486%;"/>
        <td style="width:0.673%;"/>
        <td style="width:2.175%;"/>
        <td style="width:1.346%;"/>
        <td style="width:18.486%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"><br/></span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Numerator:</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">387</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">79</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Denominator:</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted-average shares outstanding, basic</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,156,968</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11,584,605</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted-average shares outstanding, diluted</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">12,315,806</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11,898,362</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income per share, basic</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.03</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.01</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"><p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Net income per share, diluted</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.03</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">0.01</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;&#160;&#160;Anti-dilutive employee share-based awards, excluded</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">952,776</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">544,815</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>38
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654088356488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity Incentive Plans (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Stock Option Activity</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the &#8220;2017 Plan") during the three months ended March 31, </span><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">2022 is as follows:</span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.363%;"/>
        <td style="width:1.605%;"/>
        <td style="width:0.684%;"/>
        <td style="width:13.598%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.605%;"/>
        <td style="width:1.346%;"/>
        <td style="width:13.225%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Number<br/>of Options<br/>Outstanding</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted<br/>Average<br/>Exercise<br/>Price</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Outstanding as of December 31, 2021</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">783,928</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">28.00</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Granted</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">454,678</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">26.50</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Exercised</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">8,528</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1.43</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Canceled</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">11,699</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">38.20</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Outstanding as of March 31, 2022</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,218,379</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">27.51</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock', window );">Schedule of Outstanding Restricted Stock Units Awards Activity</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2022 is as follows:</span></p><p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.366%;"/>
        <td style="width:1.605%;"/>
        <td style="width:0.683%;"/>
        <td style="width:13.586%;"/>
        <td style="width:0.901%;"/>
        <td style="width:1.605%;"/>
        <td style="width:1.346%;"/>
        <td style="width:13.234%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Number of Restricted Stock Units</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Weighted<br/>Average<br/>Grant Date Fair Value per RSU</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Unvested awards outstanding as of December 31, 2021</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">128,810</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">35.09</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Granted</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">154,379</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">26.50</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Vested</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">22,755</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">25.35</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Unvested awards outstanding as of March 31, 2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">260,434</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">30.85</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations</a></td>
<td class="text"><p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):</span><span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.166%;"/>
        <td style="width:1.605%;"/>
        <td style="width:1.346%;"/>
        <td style="width:13.163%;"/>
        <td style="width:0.673%;"/>
        <td style="width:1.605%;"/>
        <td style="width:1.346%;"/>
        <td style="width:13.422%;"/>
        <td style="width:0.673%;"/>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">Three Months Ended March 31,</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:8.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">2021</span></p></td>
        <td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"><p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"><span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenues</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">456</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">392</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Sales and marketing</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">463</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">371</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">234</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">181</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">702</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">431</span></p></td>
        <td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10.0pt;">
        <td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"><p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,855</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"><span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">1,375</span></p></td>
        <td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"><p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"><span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081714072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Organization and Description of Business - Additional Information (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2022 </div>
<div>City </div>
<div>Subsidiary</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_BusinessAndNatureOfOperationsLineItems', window );"><strong>Business And Nature Of Operations [Line Items]</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="top.Show.showAR( this, 'defref_ssti_NumberOfSubsidiary', window );">Number of subsidiary | Subsidiary</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</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="top.Show.showAR( this, 'defref_ssti_BusinessAndNatureOfOperationsLineItems', window );"><strong>Business And Nature Of Operations [Line Items]</strong></a></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="top.Show.showAR( this, 'defref_ssti_NumberOfCitiesInWhichEntityOperates', window );">Number of cities in which entity operates | City</a></td>
<td class="nump">130<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_BusinessAndNatureOfOperationsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business and nature of operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_BusinessAndNatureOfOperationsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_NumberOfCitiesInWhichEntityOperates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of cities in which entity operates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_NumberOfCitiesInWhichEntityOperates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_NumberOfSubsidiary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of subsidiary.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_NumberOfSubsidiary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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>instant</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081651464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Additional Information (Details) - Customer Concentration Risk - Customer<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 31, 2021</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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Accounts Receivable</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="top.Show.showAR( this, 'defref_ssti_AccountingPoliciesLineItems', window );"><strong>Accounting Policies [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="top.Show.showAR( this, 'defref_ssti_NumberOfCustomers', window );">Number of customers</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_AccountingPoliciesLineItems', window );"><strong>Accounting Policies [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="top.Show.showAR( this, 'defref_ssti_NumberOfCustomers', window );">Number of customers</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<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="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ssti_CustomerOneMember', window );">Customer One | Accounts Receivable</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="top.Show.showAR( this, 'defref_ssti_AccountingPoliciesLineItems', window );"><strong>Accounting Policies [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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">38.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.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="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ssti_CustomerOneMember', window );">Customer One | 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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_AccountingPoliciesLineItems', window );"><strong>Accounting Policies [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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">38.00%<span></span>
</td>
<td class="nump">34.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="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ssti_CustomerTwoMember', window );">Customer Two | Accounts Receivable</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="top.Show.showAR( this, 'defref_ssti_AccountingPoliciesLineItems', window );"><strong>Accounting Policies [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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">15.00%<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="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ssti_CustomerTwoMember', window );">Customer Two | 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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_AccountingPoliciesLineItems', window );"><strong>Accounting Policies [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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">13.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_ssti_AccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accounting policies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_AccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_NumberOfCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_NumberOfCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</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_MajorCustomersAxis=ssti_CustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_MajorCustomersAxis=ssti_CustomerOneMember</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_MajorCustomersAxis=ssti_CustomerTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_MajorCustomersAxis=ssti_CustomerTwoMember</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>41
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081323016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance at the beginning of the year</a></td>
<td class="nump">$ 26,709<span></span>
</td>
<td class="nump">$ 24,578<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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination', window );">Deferred revenues acquired (Note 4 - Business Acquisitions)</a></td>
<td class="nump">5,382<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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress', window );">New billings</a></td>
<td class="nump">24,527<span></span>
</td>
<td class="nump">15,432<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="top.Show.showAR( this, 'defref_ssti_ContractWithCustomerLiabilityForeignCurrencyImpact', window );">Foreign currency impact</a></td>
<td class="nump">8<span></span>
</td>
<td class="num">(1)<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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance at the end of the year</a></td>
<td class="nump">35,509<span></span>
</td>
<td class="nump">25,008<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerDurationAxis=ssti_RecognitionFromBeginningDeferredRevenueBalanceMember', window );">Recognition From Balance at the Beginning of the Year</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized during the period</a></td>
<td class="num">(9,825)<span></span>
</td>
<td class="num">(10,103)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerDurationAxis=ssti_RecognitionFromNewBillingsOfDeferredRevenueMember', window );">Revenue Recognized During the Year from New Billings</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized during the period</a></td>
<td class="num">$ (11,292)<span></span>
</td>
<td class="num">$ (4,898)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_ContractWithCustomerLiabilityForeignCurrencyImpact">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer Liability Foreign Currency Impact</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_ContractWithCustomerLiabilityForeignCurrencyImpact</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in measure of progress which (increases) decreases 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerDurationAxis=ssti_RecognitionFromBeginningDeferredRevenueBalanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ContractWithCustomerDurationAxis=ssti_RecognitionFromBeginningDeferredRevenueBalanceMember</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_ContractWithCustomerDurationAxis=ssti_RecognitionFromNewBillingsOfDeferredRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ContractWithCustomerDurationAxis=ssti_RecognitionFromNewBillingsOfDeferredRevenueMember</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>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081360008">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Mar. 31, 2022 </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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]</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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Estimated remaining performance obligations for contractually committed revenues</a></td>
<td class="nump">$ 111,816<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2022-04-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2022-04-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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]</strong></a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Estimated remaining performance obligations for contractually committed revenues recognition period</a></td>
<td class="text">9 months<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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Estimated remaining performance obligations for contractually committed revenues</a></td>
<td class="nump">$ 40,844<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2023-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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]</strong></a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Estimated remaining performance obligations for contractually committed revenues recognition period</a></td>
<td class="text">1 year<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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Estimated remaining performance obligations for contractually committed revenues</a></td>
<td class="nump">$ 34,805<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]</strong></a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Estimated remaining performance obligations for contractually committed revenues recognition period</a></td>
<td class="text">1 year<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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Estimated remaining performance obligations for contractually committed revenues</a></td>
<td class="nump">$ 23,213<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]</strong></a></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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Estimated remaining performance obligations for contractually committed revenues recognition period</a></td>
<td class="text"> <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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Estimated remaining performance obligations for contractually committed revenues</a></td>
<td class="nump">$ 12,954<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_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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=2022-04-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=2022-04-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=2023-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=2023-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=2024-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654086729000">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Mar. 31, 2022 </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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Estimated remaining performance obligations for contractually committed revenues</a></td>
<td class="nump">$ 111,816<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_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-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>44
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081007544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Related Disclosures - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=ssti_SubscriptionMaintenanceAndSupportServicesMember', window );">Subscription, maintenance and support services 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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">$ 19.0<span></span>
</td>
<td class="nump">$ 13.3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=ssti_ProfessionalSoftwareDevelopmentServicesMember', window );">Professional software development services member</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">2.2<span></span>
</td>
<td class="nump">1.7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">20.8<span></span>
</td>
<td class="nump">14.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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_ZA', window );">South Africa</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">0.4<span></span>
</td>
<td class="nump">0.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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_BS', window );">Bahamas</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="nump">$ 0.2<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-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_srt_ProductOrServiceAxis=ssti_SubscriptionMaintenanceAndSupportServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ProductOrServiceAxis=ssti_SubscriptionMaintenanceAndSupportServicesMember</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_ProductOrServiceAxis=ssti_ProfessionalSoftwareDevelopmentServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ProductOrServiceAxis=ssti_ProfessionalSoftwareDevelopmentServicesMember</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_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=country_ZA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ZA</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_BS">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BS</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>45
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654080979704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Acquisitions - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 03, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 31, 2021</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="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=ssti_AccountingStandardsUpdate202108Member', window );">ASU 2021-08</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="top.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>
<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="top.Show.showAR( this, 'defref_us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted', window );">Change in accounting principle, ASU, adopted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate', window );">Change in accounting principle, ASU, adoption date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Jan.  01,  2022<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock</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="top.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>
<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of common stock for acquisition, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">464,540<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic</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="top.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>
<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1', window );">Business acquisition date</a></td>
<td class="text">Jan.  03,  2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Membership interests, acquired</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="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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Business acquisition purchase consideration in cash</a></td>
<td class="nump">$ 4.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Preliminary fair value of the contingent earnout</a></td>
<td class="nump">12.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>
<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business acquisition estimated purchase consideration/purchase consideration</a></td>
<td class="nump">$ 31.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>
<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="top.Show.showAR( this, 'defref_ssti_PercentageOfDiscountedCashFlows', window );">Percentage of discounted cash flows</a></td>
<td class="nump">24.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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition-related expenses</a></td>
<td class="text">&#160;<span></span>
</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="nump">$ 0.1<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Business acquisition pro forma revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Business acquisition, pro forma net income (loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (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>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic | Forecast</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="top.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>
<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="top.Show.showAR( this, 'defref_ssti_NumberOfDaysAmountsToBeDeterminedAndPaid', window );">Number of days amounts to be determined and paid</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">120 days<span></span>
</td>
<td class="text">120 days<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic | Maximum | Forecast</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="top.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>
<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business acquisition contingent earnout payable in cash</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">$ 10.5<span></span>
</td>
<td class="nump">$ 9.5<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic | Common Stock</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="top.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>
<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business acquisition purchase consideration, stock issued</a></td>
<td class="nump">$ 14.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of common stock for acquisition, Shares</a></td>
<td class="nump">464,540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ssti_NumberOfDaysAmountsToBeDeterminedAndPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of days amounts to be determined and paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_NumberOfDaysAmountsToBeDeterminedAndPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_PercentageOfDiscountedCashFlows">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of discounted cash flows</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_PercentageOfDiscountedCashFlows</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_BusinessAcquisitionEffectiveDateOfAcquisition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date when the acquirer obtains control of the acquiree, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=123586518&amp;loc=d3e848-128460<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123586518&amp;loc=d3e845-128460<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="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_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-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_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=123586518&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6405-128476<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116859824&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-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_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates (true false) whether accounting standards update was adopted.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 20<br> -Section 65<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121483254&amp;loc=SL120254523-199619<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S65<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124359872&amp;loc=SL124427846-239511<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124402435&amp;loc=SL124402458-218513<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123459177&amp;loc=SL121830611-158277<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL122642865-165497<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL122642865-165497<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL120254526-165497<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL120254526-165497<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL120254519-210437<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123341672&amp;loc=SL120154346-209984<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=122150657&amp;loc=SL122150809-237846<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124402435&amp;loc=SL124402458-218513<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL121967933-165497<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL120320025-210437<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124434974&amp;loc=SL124442142-165695<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL121967933-165497<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL120320025-210437<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124434974&amp;loc=SL124442142-165695<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Publisher FASB<br> -Subparagraph (a)<br><br>Reference 32: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 33: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>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_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date accounting standards update was adopted, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S65<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124359872&amp;loc=SL124427846-239511<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124402435&amp;loc=SL124402458-218513<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL122642865-165497<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL120254526-165497<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124402435&amp;loc=SL124402458-218513<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL120320025-210437<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124434974&amp;loc=SL124442142-165695<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124434974&amp;loc=SL124442142-165695<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL120320025-210437<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL122642865-165497<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL121967933-165497<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=122150657&amp;loc=SL122150809-237846<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123341672&amp;loc=SL120154346-209984<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123459177&amp;loc=SL121830611-158277<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 20<br> -Section 65<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121483254&amp;loc=SL120254523-199619<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL121967933-165497<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL120254519-210437<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123597120&amp;loc=SL120254526-165497<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Publisher FASB<br> -Subparagraph (a)<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 35: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>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_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-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_AdjustmentsForNewAccountingPronouncementsAxis=ssti_AccountingStandardsUpdate202108Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_AdjustmentsForNewAccountingPronouncementsAxis=ssti_AccountingStandardsUpdate202108Member</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_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_CommonStockMember</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_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember</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_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_StatementScenarioAxis=srt_ScenarioForecastMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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>46
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654078206952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Business Acquisitions - Summary of Purchase Price Allocation as of Acquisition Date (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jan. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 23,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,816<span></span>
</td>
<td class="nump">$ 2,811<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic</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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 303<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="top.Show.showAR( this, 'defref_ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet', window );">Accounts receivable and contract asset, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">220<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200<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="top.Show.showAR( this, 'defref_ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,893<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="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,355<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Other asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">186<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="top.Show.showAR( this, 'defref_ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities', window );">Accrued expenses and other current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(635)<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="top.Show.showAR( this, 'defref_ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities', window );">Operating lease liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,893)<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,382)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Total estimated consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,587<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic | Software 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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identifiable technology and intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,140<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic | Tradename</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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identifiable technology and intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic | Customer Relationships</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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identifiable technology and intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,200<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_ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed accrued expenses and other current liabilities</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed current assets receivables and contract assets net.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed operating lease liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed operating lease right of use asset</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember</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_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_TradeNamesMember</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_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_CustomerRelationshipsMember</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>47
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654080736472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">3 Months Ended</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. 28, 2021</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Jan. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Nov. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration liability</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">$ 403,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet', window );">Transfers into or out of level 3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value Measurements Recurring | Level 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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease', window );">Change in fair value of contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300,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>
<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="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,900,000<span></span>
</td>
<td class="nump">$ 1,500,000<span></span>
</td>
<td class="nump">$ 170,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 573,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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value Measurements Recurring | Level 3 | Accrued Expenses and Other Current Liabilities</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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,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>
<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value Measurements Recurring | Level 3 | Other Liabilities</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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,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>
<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_AzaveaIncMember', window );">Azavea, 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>
<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="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration liability</a></td>
<td class="nump">$ 400,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>
<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="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_LeedsLLCMember', window );">LEEDS | Level 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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure', window );">Estimated fair value of contingent consideration</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">$ 200,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember', window );">Forensic Logic | Level 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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure', window );">Estimated fair value of contingent consideration</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">$ 12,400,000<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_ContingentConsiderationClassifiedAsEquityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent consideration in a business combination that is classified in shareholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of transfers of financial instrument classified as a liability into (out of) level 3 of the fair value hierarchy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</td>
</tr>
<tr>
<td style="padding-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_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_FairValueInputsLevel3Member</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_BalanceSheetLocationAxis=ssti_AccruedLiabilitiesAndOtherLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BalanceSheetLocationAxis=ssti_AccruedLiabilitiesAndOtherLiabilitiesMember</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_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember</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_BusinessAcquisitionAxis=ssti_AzaveaIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BusinessAcquisitionAxis=ssti_AzaveaIncMember</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_BusinessAcquisitionAxis=ssti_LeedsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BusinessAcquisitionAxis=ssti_LeedsLLCMember</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_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BusinessAcquisitionAxis=ssti_ForensicLogicLlcMember</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>48
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654078505496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liability (Details) - Fair Value Measurements Recurring - Level 3 - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [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="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Beginning balance</a></td>
<td class="nump">$ 1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 573<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="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements', window );">Payment of contingent consideration liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(403)<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="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease', window );">Change in fair value of contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Contingent consideration - Forensic Logic (Note 4 - Business Acquisitions)</a></td>
<td class="nump">12,400<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="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Ending balance</a></td>
<td class="nump">$ 13,900<span></span>
</td>
<td class="nump">$ 1,500<span></span>
</td>
<td class="nump">$ 170<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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</td>
</tr>
<tr>
<td style="padding-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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</td>
</tr>
<tr>
<td style="padding-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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_FairValueInputsLevel3Member</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>49
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081004104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill - Schedule of Changes in Goodwill (Details) - USD ($)<br> $ in Thousands</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>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Beginning balance</a></td>
<td class="nump">$ 2,816<span></span>
</td>
<td class="nump">$ 2,811<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="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Acquisition of Forensic Logic (see Note 4 Business Acquisitions)</a></td>
<td class="nump">20,355<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="top.Show.showAR( this, 'defref_us-gaap_GoodwillPeriodIncreaseDecrease', window );">Change during the period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<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="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Ending balance</a></td>
<td class="nump">$ 23,171<span></span>
</td>
<td class="nump">$ 2,816<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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-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_GoodwillLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillLineItems</td>
</tr>
<tr>
<td style="padding-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_GoodwillPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081751896">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets, Net - Schedule of Intangible Assets Net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">$ 32,136<span></span>
</td>
<td class="nump">$ 15,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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,916)<span></span>
</td>
<td class="num">(2,220)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">29,220<span></span>
</td>
<td class="nump">13,564<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships</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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">22,770<span></span>
</td>
<td class="nump">14,570<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,535)<span></span>
</td>
<td class="num">(1,131)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">21,235<span></span>
</td>
<td class="nump">13,439<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents</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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">1,226<span></span>
</td>
<td class="nump">1,214<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,099)<span></span>
</td>
<td class="num">(1,089)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">127<span></span>
</td>
<td class="nump">$ 125<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=ssti_SoftwareTechnologyMember', window );">Software Technology</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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">7,140<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(254)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">6,886<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Tradename</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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">1,000<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(28)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">$ 972<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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_CustomerRelationshipsMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=ssti_SoftwareTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=ssti_SoftwareTechnologyMember</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_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_TradeNamesMember</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>51
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654078085320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, Net - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Intangible amortization expense</a></td>
<td class="nump">$ 695,000<span></span>
</td>
<td class="nump">$ 259,000<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>52
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081261832">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">Remainder of 2022</a></td>
<td class="nump">$ 2,106<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2023</a></td>
<td class="nump">2,640<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2024</a></td>
<td class="nump">2,637<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2025</a></td>
<td class="nump">2,595<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2026</a></td>
<td class="nump">2,577<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="top.Show.showAR( this, 'defref_ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour', window );">Thereafter</a></td>
<td class="nump">16,665<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">$ 29,220<span></span>
</td>
<td class="nump">$ 13,564<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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 remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081624568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Asset (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related Disclosures [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 20,271<span></span>
</td>
<td class="nump">$ 16,167<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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract asset</a></td>
<td class="nump">1,135<span></span>
</td>
<td class="nump">41<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="top.Show.showAR( this, 'defref_ssti_FinancingReceivableAllowanceForCreditLossesAdjustment', window );">Allowance for potential credit losses</a></td>
<td class="num">(150)<span></span>
</td>
<td class="num">(74)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_AccountsReceivableAndContractAssetCurrent', window );">Accounts receivable and contract asset</a></td>
<td class="nump">$ 21,256<span></span>
</td>
<td class="nump">$ 16,134<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_AccountsReceivableAndContractAssetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accounts receivable and contract asset current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_AccountsReceivableAndContractAssetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_FinancingReceivableAllowanceForCreditLossesAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Financing receivable allowance for credit losses adjustment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_FinancingReceivableAllowanceForCreditLossesAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130533-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081262312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract', window );"><strong>Prepaid Expense and Other Assets, Current [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_PrepaidSoftwareAndLicensesCurrent', window );">Prepaid software and licenses</a></td>
<td class="nump">$ 742<span></span>
</td>
<td class="nump">$ 756<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="top.Show.showAR( this, 'defref_us-gaap_PrepaidInsurance', window );">Prepaid insurance</a></td>
<td class="nump">245<span></span>
</td>
<td class="nump">611<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="top.Show.showAR( this, 'defref_us-gaap_OtherPrepaidExpenseCurrent', window );">Other prepaid expenses</a></td>
<td class="nump">472<span></span>
</td>
<td class="nump">198<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="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCurrent', window );">Deferred commissions</a></td>
<td class="nump">895<span></span>
</td>
<td class="nump">822<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="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other</a></td>
<td class="nump">102<span></span>
</td>
<td class="nump">117<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Total</a></td>
<td class="nump">$ 2,456<span></span>
</td>
<td class="nump">$ 2,504<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_PrepaidSoftwareAndLicensesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Prepaid software and licenses current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_PrepaidSoftwareAndLicensesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_DeferredCostsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of deferred costs capitalized at the end of the reporting period that are expected to be charged against earnings within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCurrent</td>
</tr>
<tr>
<td style="padding-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_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-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_OtherPrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for other costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherPrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-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_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PrepaidExpenseAndOtherAssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_PrepaidInsurance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123349782&amp;loc=d3e5879-108316<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidInsurance</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081575000">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Assets Long-term (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrentDisclosureAbstract', window );"><strong>Other Assets Noncurrent 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCosts', window );">Deferred commissions</a></td>
<td class="nump">$ 2,011<span></span>
</td>
<td class="nump">$ 1,723<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="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsMiscellaneousNoncurrent', window );">Other</a></td>
<td class="nump">570<span></span>
</td>
<td class="nump">195<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Total other assets</a></td>
<td class="nump">$ 2,581<span></span>
</td>
<td class="nump">$ 1,918<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_DeferredCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred cost, excluding capitalized cost related to contract with customer; classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCosts</td>
</tr>
<tr>
<td style="padding-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_OtherAssetsMiscellaneousNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsMiscellaneousNoncurrent</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherAssetsNoncurrentDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrentDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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>56
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084172680">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract', window );"><strong>Accrued Expenses And Other Current Liabilities [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedEmployeeBenefitsCurrent', window );">Personnel-related accruals</a></td>
<td class="nump">$ 4,017<span></span>
</td>
<td class="nump">$ 4,864<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="top.Show.showAR( this, 'defref_us-gaap_AccruedRoyaltiesCurrent', window );">Royalties payable</a></td>
<td class="nump">49<span></span>
</td>
<td class="nump">47<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="top.Show.showAR( this, 'defref_us-gaap_AccruedProfessionalFeesCurrent', window );">Professional fees</a></td>
<td class="nump">692<span></span>
</td>
<td class="nump">925<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="top.Show.showAR( this, 'defref_us-gaap_SalesAndExciseTaxPayableCurrent', window );">Sales/ use tax payable</a></td>
<td class="nump">218<span></span>
</td>
<td class="nump">167<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Contingent consideration</a></td>
<td class="nump">6,650<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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">861<span></span>
</td>
<td class="nump">409<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="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">465<span></span>
</td>
<td class="nump">268<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities', window );">Accrued expenses and other current liabilities</a></td>
<td class="nump">$ 12,952<span></span>
</td>
<td class="nump">$ 6,680<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued expenses and other current liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_AccruedEmployeeBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-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_AccruedLiabilitiesAndOtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-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_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="padding-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_AccruedRoyaltiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for royalties. 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedRoyaltiesCurrent</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=116859824&amp;loc=d3e6819-128478<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-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_SalesAndExciseTaxPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesAndExciseTaxPayableCurrent</td>
</tr>
<tr>
<td style="padding-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>57
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654078096200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrentAbstract', window );"><strong>Other Liabilities, Noncurrent [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">$ 3,269<span></span>
</td>
<td class="nump">$ 2,013<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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Contingent consideration liability</a></td>
<td class="nump">7,250<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other liabilities, noncurrent</a></td>
<td class="nump">$ 10,519<span></span>
</td>
<td class="nump">$ 3,513<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_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=116859824&amp;loc=d3e6819-128478<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherLiabilitiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-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>58
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654164222328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=ssti_ShotSpotterLabsMember', window );">ShotSpotter Labs</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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from related parties</a></td>
<td class="nump">$ 16,000<span></span>
</td>
<td class="nump">$ 36,000<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_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-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_RevenueFromRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07.1(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=120401555&amp;loc=SL114874292-224272<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1(e))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromRelatedParties</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionAxis=ssti_ShotSpotterLabsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionAxis=ssti_ShotSpotterLabsMember</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>59
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654087507880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchase Program - Additional Information (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock</a></td>
<td class="nump">57,623<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Amount authorized to repurchase remaining available common stock</a></td>
<td class="nump">$ 1,400<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="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average price per share</a></td>
<td class="nump">$ 28.34<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock amount</a></td>
<td class="nump">$ 1,634<span></span>
</td>
<td class="nump">$ 2,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_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount remaining of a stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_TreasuryStockAcquiredAverageCostPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total cost of shares repurchased divided by the total number of shares repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockAcquiredAverageCostPerShare</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081649896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income per Share - Summary of Computation of Basic and Diluted Net Income per Share (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAbstract', window );"><strong>Numerator:</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="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 387<span></span>
</td>
<td class="nump">$ 79<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Denominator:</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="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted-average shares outstanding, basic</a></td>
<td class="nump">12,156,968<span></span>
</td>
<td class="nump">11,584,605<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average shares outstanding, diluted</a></td>
<td class="nump">12,315,806<span></span>
</td>
<td class="nump">11,898,362<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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income per share, basic</a></td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.01<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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income per share, diluted</a></td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.01<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="top.Show.showAR( this, 'defref_ssti_AntidilutiveEmployeeShareBasedAwardsExcluded', window );">Anti-dilutive employee share-based awards, excluded</a></td>
<td class="nump">952,776<span></span>
</td>
<td class="nump">544,815<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ssti_AntidilutiveEmployeeShareBasedAwardsExcluded">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Antidilutive employee share-based awards excluded</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_AntidilutiveEmployeeShareBasedAwardsExcluded</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_NetIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="padding-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>61
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654081236216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity Incentive Plans - Schedule of Stock Option Activity (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2022 </div>
<div>$ / shares </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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options Outstanding, Beginning Balance | shares</a></td>
<td class="nump">783,928<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Number of Options Outstanding, Granted | shares</a></td>
<td class="nump">454,678<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options Outstanding, Exercised | shares</a></td>
<td class="num">(8,528)<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Number of Options Outstanding, Canceled | shares</a></td>
<td class="num">(11,699)<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options Outstanding, Ending Balance | shares</a></td>
<td class="nump">1,218,379<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Beginning Balance | $ / shares</a></td>
<td class="nump">$ 28.00<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Granted | $ / shares</a></td>
<td class="nump">26.50<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Exercised | $ / shares</a></td>
<td class="nump">1.43<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Canceled | $ / shares</a></td>
<td class="nump">38.20<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Ending Balance | $ / shares</a></td>
<td class="nump">$ 27.51<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>62
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654082783448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity Incentive Plans - Additional Information (Details) - shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2022</div></th>
<th class="th"><div>May 31, 2017</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember', window );">2017 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>
<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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares available for future grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">549,328<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Shares issued under ESPP</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod', window );">Shares of common stock reserved for issuance, automatic annual increase initiation period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">--01-01<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum', window );">Percentage of number of shares of common stock outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.00%<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="top.Show.showAR( this, 'defref_ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance', window );">Increase in common stock reserved for issuance</a></td>
<td class="nump">150,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>
<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="top.Show.showAR( this, 'defref_ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance', window );">Periodic increment of common stock reserved for future issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150,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="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=ssti_TwoThousandSeventeenEquityIncentivePlanMember', window );">2017 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>
<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="top.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod', window );">Shares of common stock reserved for issuance, automatic annual increase initiation period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">--01-01<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum', window );">Percentage of number of shares of common stock outstanding</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">5.00%<span></span>
</td>
<td class="nump">5.00%<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="top.Show.showAR( this, 'defref_ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate', window );">Shares of common stock reserved for issuance, automatic annual increase start date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Jan.  01,  2018<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="top.Show.showAR( this, 'defref_ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate', window );">Shares of common stock reserved for issuance, automatic annual increase end date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Jan.  01,  2027<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="top.Show.showAR( this, 'defref_ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance', window );">Increase in common stock reserved for issuance</a></td>
<td class="nump">585,172<span></span>
</td>
<td class="text">&#160;<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_ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase in common stock capital shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Periodic increment of common stock capital shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Shares of common stock reserved for issuance, automatic annual increase end date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Shares of common stock reserved for issuance automatic annual increase initiation period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Shares of common stock reserved for issuance automatic annual increase start date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ssti_</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum number of shares that may be issued in accordance with the plan as a proportion of outstanding capital stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum</td>
</tr>
<tr>
<td style="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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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=ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</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=ssti_TwoThousandSeventeenEquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=ssti_TwoThousandSeventeenEquityIncentivePlanMember</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>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084234712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity Incentive Plans - Schedule of Outstanding Restricted Stock Units Awards Activity - (Details) - Restricted Stock Unit<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2022 </div>
<div>$ / shares </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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Beginning Balance | shares</a></td>
<td class="nump">128,810<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted | shares</a></td>
<td class="nump">154,379<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Number of Restricted Stock Units, Vested | shares</a></td>
<td class="num">(22,755)<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Ending Balance | shares</a></td>
<td class="nump">260,434<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value per RSU, Beginning Balance | $ / shares</a></td>
<td class="nump">$ 35.09<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value per RSU, Granted | $ / shares</a></td>
<td class="nump">26.50<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value per RSU, Vested | $ / shares</a></td>
<td class="nump">25.35<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value per RSU, Ending Balance | $ / shares</a></td>
<td class="nump">$ 30.85<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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>64
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654077210776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Mar. 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="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share Based Compensation Allocation Of Recognized Period Costs [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 1,855<span></span>
</td>
<td class="nump">$ 1,375<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share Based Compensation Allocation Of Recognized Period Costs [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">456<span></span>
</td>
<td class="nump">392<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share Based Compensation Allocation Of Recognized Period Costs [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">463<span></span>
</td>
<td class="nump">371<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share Based Compensation Allocation Of Recognized Period Costs [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">234<span></span>
</td>
<td class="nump">181<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share Based Compensation Allocation Of Recognized Period Costs [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 702<span></span>
</td>
<td class="nump">$ 431<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_SellingAndMarketingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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>65
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.22.1</span><table class="report" border="0" cellspacing="2" id="idm140654084073480">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies - Additional Information (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Oct. 12, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=ssti_CompensatoryDamagesMember', window );">Compensatory Damages | Minimum</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="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></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="top.Show.showAR( this, 'defref_us-gaap_LossContingencyDamagesSoughtValue', window );">Loss contingency damages sought value</a></td>
<td class="nump">$ 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="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=ssti_PunitiveDamagesMember', window );">Punitive Damages</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="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</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="top.Show.showAR( this, 'defref_us-gaap_LossContingencyDamagesSoughtValue', window );">Loss contingency damages sought value</a></td>
<td class="nump">$ 100<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_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-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_LossContingencyDamagesSoughtValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The value (monetary amount) of the award the plaintiff seeks in the legal matter.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14557-108349<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14435-108349<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyDamagesSoughtValue</td>
</tr>
<tr>
<td style="padding-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_LossContingenciesByNatureOfContingencyAxis=ssti_CompensatoryDamagesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_LossContingenciesByNatureOfContingencyAxis=ssti_CompensatoryDamagesMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_us-gaap_LossContingenciesByNatureOfContingencyAxis=ssti_PunitiveDamagesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_LossContingenciesByNatureOfContingencyAxis=ssti_PunitiveDamagesMember</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>ssti-20220331_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2021"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:ssti="http://www.shotspotter.com/20220331"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="ssti-20220331.xsd" xlink:type="simple"/>
    <context id="C_a106a82b-37a3-4530-91d7-92cfd6be3d58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_a81a5501-43da-4ec1-aaa5-0bceda87f0e6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_24466a16-3d8a-44a7-8b64-2466c8f7399b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_1615a381-fed6-4cf6-a350-2d523a459781">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_03365dc6-f39e-4d2b-ab67-51bf05e56670">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_8c8e20e8-ebcc-4c8c-ad27-48304a267e32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ssti:SubscriptionMaintenanceAndSupportServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_c885d15f-9678-4e90-bcd6-a44c20a9c586">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_f8b904a2-e65c-4aa8-9edb-2cc959ab35fa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_3b619813-ae07-4d2d-9852-8f085df573f9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_127f5b61-06fe-49da-8738-f92c47b244cb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_bd33dd17-4c96-424f-8a0d-10610dc36e5c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_93ee2038-4717-4e84-a909-6fffeee26794">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_f43ac29b-0157-4c8f-abf1-4a98643e6871">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_9f6170cf-8101-4119-a25e-ad90823fc7e3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_3a9c8359-2d87-4c19-bc5f-4a30be738182">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_149c4457-3c21-42c3-8c10-21f15d44c8c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_713f7152-5be2-4f20-960a-94e306fa3467">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="C_0ac19f7d-fc71-4065-80b0-042c5353bda5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_9310b966-ab7f-4d60-a85d-51cd66f030b8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_013a8e8f-c6a7-4437-8a68-81c08d11b6bb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_ceda8827-c01d-4028-9ca3-685c787d5d0b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_3736fb25-2053-4120-9851-540beeb0c02f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_25251528-9af4-4905-be67-943ba86f608d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_10a1619b-8d80-4a93-82dc-0f42920bbe0c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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_a75b9ebe-c12f-409f-a67e-f6f5b2af1084">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_0950aff4-a31a-4f4a-996a-484c2537d5e8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_737be91a-9fa1-4ccc-87dc-a2a3441f61ab">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">ssti:SoftwareTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_5d18c9ad-a55b-4d85-8eff-1b93264d0a44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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>2022-03-31</instant>
        </period>
    </context>
    <context id="C_79dbbab6-1725-48d2-a742-544b47083246">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">ssti:ShotSpotterLabsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_6217c0e0-7e19-4bbc-803e-31a3e275ca67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_e5483310-f248-488b-8ac8-1fdb90040588">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-03</instant>
        </period>
    </context>
    <context id="C_e2a80031-945f-47a5-a810-701522f900fc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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_dfe2869f-b199-469c-b88f-8095a50d1f4a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="C_eacf896e-0272-4152-9e89-a1cf28665b32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="C_eb0806c9-cd9b-413b-8f47-de2bacb95acd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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_7b1cf6dc-3302-4ebb-b095-7a4899536775">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_76a6cfd6-9238-4e67-ab3e-3da3d51f3e5e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_04c5118b-cd7e-4104-91be-ab3136b0c3b9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_56241372-836c-4631-8a97-1963346dab4e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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_ac2383f8-92eb-4b35-a1be-833c41494387">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_4816fe98-96a7-4419-94c9-dbe96265db7b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="C_8fa6aee4-ad12-4340-a0b5-3459974229a6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">ssti:AccruedLiabilitiesAndOtherLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-03</startDate>
            <endDate>2022-01-03</endDate>
        </period>
    </context>
    <context id="C_2f649efb-908a-4a42-b7cf-3ffa2276f3d0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ssti:ProfessionalSoftwareDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_c2962ad9-bb09-46ac-af50-a0d496670a23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="C_a97ddda1-b2e6-4f0e-a4dd-fead0e4b9525">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_72cd9c5e-0719-4cd4-84e7-551f796cb4b2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="C_9155f498-db82-4ded-8c5f-d0176a497a05">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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_562ab650-a001-4c1e-b53b-f08dea5824ec">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_0998d3a1-39bb-4560-827a-40117a738e3f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="C_abc3306c-4c02-4279-9da3-cd8f4fa555da">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_8b48ae13-5693-4d58-9a46-07973323f56c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-01</endDate>
        </period>
    </context>
    <context id="C_02bece99-092b-4ccb-b12f-4ceffbd9871a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-03</instant>
        </period>
    </context>
    <context id="C_55a2ca40-271c-469b-92d0-fdfd856d242a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">ssti:ShotSpotterLabsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_cc5aeaf0-fdaa-492d-b857-72097dc114c2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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>2022-03-31</instant>
        </period>
    </context>
    <context id="C_0e1c4593-f41e-431c-8699-b1a0fcdb1363">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_ee8d10ba-4d44-47de-a529-6183934059b2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerDurationAxis">ssti:RecognitionFromNewBillingsOfDeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_e5f850f0-595c-499b-bb12-deeb538a3ff0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ssti:ProfessionalSoftwareDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_d70c71a4-0537-4865-98fe-5153e978481c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_847e9941-df00-4d67-ae0a-bb53a9bab527">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_64cca3a9-1715-4247-a260-e28ac48884b7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_cfbc7e87-55a1-4604-86d3-03aed1e4ab9c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerDurationAxis">ssti:RecognitionFromNewBillingsOfDeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_b2e06c7d-9265-40ca-aa39-9c11a2b3a5ae">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="C_7a9733c5-ba7d-4002-b38b-e543d0379d83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">ssti:AccountingStandardsUpdate202108Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_f8fe2972-47b2-42f5-83c0-73f012720d9b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_077a6235-4e0b-4ed9-85dc-78669c9bb0dd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_4ac35662-3179-48c0-9516-cadedb959104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_9cbf2ee2-894f-4a71-b626-698b19667284">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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_e6c20a39-5d92-47f0-a395-4259c2c0f361">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_6fbf2e10-7fc5-48f6-877b-2274696167fe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_1c6d347c-2db7-4b45-b812-eb0ac9ef5b98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="C_a7992727-8d0e-4bd3-9899-71602c3da89e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_f1ceb39d-4362-4fcc-8360-7eff35fe0c32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_c789ba45-efd8-4399-90d0-0de6aa317bf3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:LeedsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-30</instant>
        </period>
    </context>
    <context id="C_d9e37333-8edd-4ffd-a810-53ef6453a4d6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BS</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_40f0b965-a1b9-41ab-bbe4-627b4ffa0d80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-03</instant>
        </period>
    </context>
    <context id="C_edcef4b9-11d8-4db7-831d-3574c5603b9c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_476a140b-0af2-4534-a473-04d9443a51ab">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerDurationAxis">ssti:RecognitionFromBeginningDeferredRevenueBalanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_cd8f3b7c-14c8-48d6-8360-5aa042790864">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:AzaveaIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="C_689186f9-cf1e-4f8f-ac98-c83c35dd888d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_69f5bbbc-32bd-4059-80b2-6cbe368e83e0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_ac64ea28-323e-4973-aee6-6462d61aa55e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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_d277ccbe-b6bb-49dd-8d5d-68359cfecf1e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-03</instant>
        </period>
    </context>
    <context id="C_dda2ce30-884c-4335-a113-67bae204a1b9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_3c20928b-b904-49e2-8a33-627a5c16b136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="C_66f1f79c-069c-4241-a8ce-06d0dc2a668d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_3cd7e47c-cac6-4d3e-8852-da6320e19ffa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_358f5a66-3fc8-4998-bf7d-bc75da891e76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_2a55f55a-95cc-4ecf-b15c-8ec2f9628b82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_f20a2430-6b11-44bf-b344-9ac90161c69a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</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_6bbccba0-c383-4d9d-8d75-e5ba25f4162d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="C_0f5bdb17-b55f-4907-a446-82cf51ddc777">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_1d6a8c8e-13ec-4c41-9389-f38bc4acb183">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-03</startDate>
            <endDate>2022-01-03</endDate>
        </period>
    </context>
    <context id="C_a7449ef2-b425-4a7d-9851-4d5a0c0cccc7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="C_9d41fdae-8ce0-4258-86ed-ba1d4b249c28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_66217ff4-3ef7-4c48-b2dd-977a50db3643">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_5559d3d7-e4a9-4130-85e2-89188cfbe620">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">ssti:CompensatoryDamagesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-12</startDate>
            <endDate>2021-10-12</endDate>
        </period>
    </context>
    <context id="C_f8abfc70-5adf-42f8-9db9-631524deb0cb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_056707bd-9caa-4250-bb92-381e9b51b4cd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_ef9a282b-22fb-454e-a4c0-9d25c4b5a326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_48e71403-207a-49f2-b9e5-81480f3100fa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ssti:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="C_47e412c9-2400-45c5-a2a7-1443da1681a7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-05-01</startDate>
            <endDate>2017-05-31</endDate>
        </period>
    </context>
    <context id="C_ff0ea7a7-6ccb-4259-b8cd-a08b0ba95da5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_8c9ce3dd-166f-466a-8205-731d2946109e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="C_1005a965-0b11-4e3b-949f-dd368b08737a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">ssti:PunitiveDamagesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-12</startDate>
            <endDate>2021-10-12</endDate>
        </period>
    </context>
    <context id="C_f086e84e-aaff-421f-b0c4-0133e95abe9f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_27e05528-22e5-42b8-b647-0c754d88a5b0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-05-01</startDate>
            <endDate>2017-05-31</endDate>
        </period>
    </context>
    <context id="C_aa1873bc-e3db-4e52-8998-c3376e3fefb6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_9ae3dad9-456d-487b-a3dd-cb418d8bf44a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-01</endDate>
        </period>
    </context>
    <context id="C_c46c6dde-8f86-468c-993e-71b83287e176">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ssti:ForensicLogicLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_399a9fce-9b5a-4b9b-a866-37d578b694d8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerDurationAxis">ssti:RecognitionFromBeginningDeferredRevenueBalanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_54df0e89-4c2b-4985-b730-504d08334fe9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ssti:SubscriptionMaintenanceAndSupportServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="C_250661f3-60d8-4be3-9f7d-82fdc61c7ad3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="C_f693f9e2-fcf5-4500-886e-d308a3e00976">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001351636</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <unit id="U_USDollarShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U_pure">
        <measure>pure</measure>
    </unit>
    <unit id="U_shares">
        <measure>shares</measure>
    </unit>
    <unit id="U_Subsidiary">
        <measure>ssti:Subsidiary</measure>
    </unit>
    <unit id="U_City">
        <measure>ssti:City</measure>
    </unit>
    <unit id="U_Customer">
        <measure>ssti:Customer</measure>
    </unit>
    <unit id="U_USD">
        <measure>iso4217:USD</measure>
    </unit>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="C_6bbccba0-c383-4d9d-8d75-e5ba25f4162d"
      id="F_31c5cee5-7133-4e5e-99f4-3fd183c09aa4">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:PreferredStockValue
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      id="F_cf9a83a1-ea13-4ce7-95a6-419263fad9c4"
      unitRef="U_USD"
      xsi:nil="true"/>
    <dei:DocumentFiscalPeriodFocus
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_40c2cb30-30e7-4be2-87b7-692942a91659">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_b3a711a8-1442-4a55-990b-19113dc03eff">false</dei:AmendmentFlag>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="C_5d18c9ad-a55b-4d85-8eff-1b93264d0a44"
      id="F_c71bd0db-78cc-4b95-8339-567b07db49ef"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      id="F_e8814fd1-13b0-4da7-8d7e-13baa9029cba"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="C_cc5aeaf0-fdaa-492d-b857-72097dc114c2"
      id="F_2090c233-5365-4527-bf22-621b0a71f29f">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <dei:CurrentFiscalYearEndDate
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_6705fc55-e694-46dd-ae17-bafa2f0dfe55">--12-31</dei:CurrentFiscalYearEndDate>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="C_edcef4b9-11d8-4db7-831d-3574c5603b9c"
      id="F_ca45c7cb-2415-41ef-9a5e-24d3940aba6b">P9M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      id="F_2c6be4d4-9211-48a5-8fd8-4e05655697b2"
      unitRef="U_USD"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_352ddc03-e7ed-4b05-b4d7-3fcf62f3303d">0001351636</dei:EntityCentralIndexKey>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      id="F_b4f15d7d-fd39-4d54-a895-fb8bf7e2f0a0"
      unitRef="U_USD"
      xsi:nil="true"/>
    <dei:DocumentType
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_667c3f9b-aa46-4084-ba86-b45a01e8b10d">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_cc205099-d2ee-4b44-be0f-381bd5c955a0">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_74c396d3-0264-41b3-b5a7-c31768824ca5">2022-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_269e1796-7863-4105-bb2b-763ca08ae2dd">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_cb648837-703d-4ea3-a060-94d15136b53f">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_dc56d932-ca14-4f5a-b815-84a5bfbce0da">001-38107</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_2b42f2b4-80de-473a-a27a-b4c5a43251d5">ShotSpotter, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_8c5f25d2-4d91-47b7-991d-55013b89d115">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_ae7eb2f9-1803-4131-ba6c-1fd5e7a2a4d6">47-0949915</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_41c23e77-0d6a-4065-b721-8fb8d2e50362">39300 Civic Center Dr.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_f167114a-cb87-4282-bdb2-acbd86566a05">Suite 300</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_0d449352-8c76-4dbb-be8e-db60fc639da0">Fremont</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_e21ffe08-c513-45fa-b8a5-7ea30528b713">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_e06e55d6-9330-49b9-9ab2-76cb6a954852">94538</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_7e5bb8b8-bb33-4efc-b0ff-430f101fb59d">510</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_86ef4e4c-5882-471e-86da-a163e1befaeb">794-3100</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_9c7e737c-b9ef-4eda-9570-52e26cdde482">Common stock, par value $0.005 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_c9e59196-a9ef-4565-b2a8-08bfec8fee9f">SSTI</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_89b254ec-c48d-4f9b-8c0c-50f3b57d4909">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_d5d45d76-ec40-4b44-ac7d-a9095084bc87">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_2dadb317-08ef-4864-ae16-8054150e58d3">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_45a4528c-e2c2-4efb-aa13-1c3bfd32789a">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_5d8c35c3-6029-4aad-992c-7a57501e1704">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_657f37d8-80cc-488e-85d1-4a91a8dfee92">true</dei:EntityEmergingGrowthCompany>
    <dei:EntityExTransitionPeriod
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_49bc86c9-ceaf-4572-9548-b097fb4c6d2b">true</dei:EntityExTransitionPeriod>
    <dei:EntityShellCompany
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_c8c77773-1236-485b-a623-cd3159703aac">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="C_1c6d347c-2db7-4b45-b812-eb0ac9ef5b98"
      decimals="INF"
      id="F_d3018368-7062-4233-972d-a5bf172716b6"
      unitRef="U_shares">12141630</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_665dc10c-2c0b-4efe-91c0-54c0c870e526"
      unitRef="U_USD">8852000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_ac40aeb4-3f00-4dab-a7ee-9b00782bbac2"
      unitRef="U_USD">15636000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <ssti:AccountsReceivableAndContractAssetCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_942962f8-b5f3-42f6-a38e-93ef297d5f08"
      unitRef="U_USD">21256000</ssti:AccountsReceivableAndContractAssetCurrent>
    <ssti:AccountsReceivableAndContractAssetCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_ee165f2b-dae0-4671-ab91-d929aa8625af"
      unitRef="U_USD">16134000</ssti:AccountsReceivableAndContractAssetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_c86d069d-50a1-4651-bec0-843e4d4e7d11"
      unitRef="U_USD">2456000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_26c92306-34bd-40a9-a97a-7075ea75292b"
      unitRef="U_USD">2504000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_5f3653b9-8b3d-4f66-9a64-2f0789850af1"
      unitRef="U_USD">32564000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_2f60d9e0-061e-4aea-bd9b-e7520b9d5159"
      unitRef="U_USD">34274000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_c86195af-1638-47d6-8a47-178e27bb4fe8"
      unitRef="U_USD">18707000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_d424651f-815f-434a-ae95-fb41e8e43b5d"
      unitRef="U_USD">17409000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_a065f022-324c-45a0-9754-719464a780f0"
      unitRef="U_USD">3961000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_e40f6082-89da-474c-8678-bcaf9e9dc5d3"
      unitRef="U_USD">2323000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_50b576ab-85bc-47cf-9a08-9f7508d485a0"
      unitRef="U_USD">23171000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_0f78a530-dd1d-4244-b1e0-5677dbc2a88f"
      unitRef="U_USD">2816000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_428ddcca-61db-48e9-9aef-8b64e2bd34a8"
      unitRef="U_USD">29220000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_0d864a08-ced0-4357-84e5-ec16cf0efadc"
      unitRef="U_USD">13564000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_559a12df-ff8b-4462-b8d7-5434d6611e52"
      unitRef="U_USD">2581000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_8b1f753f-5d25-4c91-b7ef-d09a0fbcf349"
      unitRef="U_USD">1918000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_722ee4b0-74d7-4e8b-ab79-5f797d52c2fa"
      unitRef="U_USD">110204000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_3413620c-95d1-41b0-a0c9-5ca31acfa1d3"
      unitRef="U_USD">72304000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_e42f1fc0-306e-4f62-81b0-fe0f22c4157b"
      unitRef="U_USD">2449000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_91b882b9-860e-4b8b-af0e-1fa4a8c20560"
      unitRef="U_USD">1587000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_8fd43315-0134-4ee6-9b9a-1ed3f17bc1f5"
      unitRef="U_USD">33886000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_6242c7a8-b46a-4755-8e22-f19e53df1c56"
      unitRef="U_USD">26235000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_08b594ce-9a5d-4d7b-b0a7-3f7f89b3d81a"
      unitRef="U_USD">12952000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_99df69db-082b-4026-8f72-89ef3debc886"
      unitRef="U_USD">6680000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_5b3e3621-5da9-4c37-a909-2818bf0e6601"
      unitRef="U_USD">49287000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_92d64cf9-b04d-46bc-80bc-e4843ff0300a"
      unitRef="U_USD">34502000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_909de9a8-643d-4ee8-8aa5-b847a6bc5a8e"
      unitRef="U_USD">1623000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_d85e0b53-8132-4a94-a854-dfc693d50d7e"
      unitRef="U_USD">474000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_8f0d955c-61dc-4f31-886a-65c6a7eebe5d"
      unitRef="U_USD">10519000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_e27cf26a-8714-4af8-96c6-5978aca0b8a5"
      unitRef="U_USD">3513000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_da7904b9-c494-4064-a433-8ebac9b57970"
      unitRef="U_USD">61429000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_1544f8bc-00a4-4e94-8607-4c9ae147a398"
      unitRef="U_USD">38489000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_02330c67-8bc1-48d6-9f2b-615dd2f23f0e"
      unitRef="U_USDollarShare">0.005</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_ce310ea7-72d8-4d24-9443-7259c6c56d78"
      unitRef="U_USDollarShare">0.005</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_62827488-49e3-46b1-9aba-5dba479bc567"
      unitRef="U_shares">20000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_64c895ce-27f1-4a94-b250-5bc750ad1a74"
      unitRef="U_shares">20000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_7f2debb5-3882-422f-a85c-31f7cbfc2c7e"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_1c7e48a8-542d-4ea7-bc5a-d3c49783a310"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_337aba9d-0232-406f-92e2-bef4e3ff9d0a"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_03d8f42d-2477-4341-9882-bef4eb6f5c69"
      unitRef="U_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_7e8b31d7-cca6-47e3-8460-84dd1f72796f"
      unitRef="U_USDollarShare">0.005</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_b93f0732-06fd-4f78-9606-a2f69708b3ac"
      unitRef="U_USDollarShare">0.005</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_5e8830af-b2ef-4af5-bd89-4acf6e9efeb2"
      unitRef="U_shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_be8b4513-1c3a-45e9-adc6-be6c91e46412"
      unitRef="U_shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_007f6397-f126-4705-9174-08597c4309a8"
      unitRef="U_shares">12141630</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_4d92cd54-d528-4e90-b46d-9269221c5690"
      unitRef="U_shares">12141630</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_8ec3d829-f506-475c-9a24-e32bddb232bf"
      unitRef="U_shares">11703430</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_603ceb99-596c-4ac3-8905-50dc2ba2d7bf"
      unitRef="U_shares">11703430</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_2e27007e-3fef-4633-acd5-7c858c9b1722"
      unitRef="U_USD">61000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_ea203e13-341f-4f0b-add2-a59fb5ae0fc8"
      unitRef="U_USD">58000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_b1abd110-3590-446d-9149-58e584959d85"
      unitRef="U_USD">147277000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_9549e613-2d5d-485f-b546-c837ad324e14"
      unitRef="U_USD">132780000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_cc519138-45b1-494f-a010-1cf15909fefc"
      unitRef="U_USD">-98398000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_9c0351d6-7b7b-4cbe-9dcf-c4a9d39ca64b"
      unitRef="U_USD">-98785000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_ca0b6e4f-af49-4514-9b64-cc502f3d419b"
      unitRef="U_USD">-165000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_698e132e-2b3e-4312-a5bb-7d6ea49a014a"
      unitRef="U_USD">-238000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_4dfadf09-2cd4-4288-afee-0a77f3f88a21"
      unitRef="U_USD">48775000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_49ce80eb-ddcf-4a6f-afa0-7517337bbbd1"
      unitRef="U_USD">33815000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_5f110074-15a5-4406-a3e4-f53f86cd8f3f"
      unitRef="U_USD">110204000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_0184adfb-7725-49c5-8966-86db46a6f5bc"
      unitRef="U_USD">72304000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_dfcd71a9-e8ce-4ba1-a865-5160cf80026d"
      unitRef="U_USD">21214000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_aadc4031-4354-4384-8385-1cc3f4240100"
      unitRef="U_USD">15013000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_f616b8ad-f751-45c6-86d1-73729e25b13e"
      unitRef="U_USD">8290000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_546ac04d-3a59-45d3-a2a5-184b45281d7c"
      unitRef="U_USD">6300000</us-gaap:CostOfGoodsAndServicesSold>
    <ssti:ImpairmentOfPropertyAndEquipment
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_8a84f294-3e69-4099-a97f-129362f82106"
      unitRef="U_USD">25000</ssti:ImpairmentOfPropertyAndEquipment>
    <us-gaap:CostOfRevenue
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_b3e48e46-c51f-4ec5-ab1a-f666f38aa756"
      unitRef="U_USD">8290000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_fe1235c2-c710-490e-ae26-e858a56aa09a"
      unitRef="U_USD">6325000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_59e0a710-7917-4e6d-b68a-76d5096ecca8"
      unitRef="U_USD">12924000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_c3ac3556-0da3-4bc4-859a-72e4d2b2c005"
      unitRef="U_USD">8688000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_7dc96cd5-4039-421a-910a-d408c1a71528"
      unitRef="U_USD">5576000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_5b640e42-2b41-4b5d-8f80-020abb0e5aa9"
      unitRef="U_USD">3935000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_f8189f59-e0d8-4e35-8950-8787a3ceac57"
      unitRef="U_USD">2627000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_f99450f9-ea81-4b36-b55d-e42d3579f65f"
      unitRef="U_USD">1713000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_cb30aec9-58be-4b9c-900c-0169e7d2423c"
      unitRef="U_USD">4289000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_906e8ed9-a2a5-4756-944e-e01afb5fa93d"
      unitRef="U_USD">2871000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_09616a0d-28f2-4820-82af-51d2b534d178"
      unitRef="U_USD">12492000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_9a53dae7-eceb-46cc-affb-03d850256a39"
      unitRef="U_USD">8519000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_77c0ba49-f11f-4899-9d64-78ac7be72c02"
      unitRef="U_USD">432000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_e0b80727-4017-4712-9877-27d3bc5b0166"
      unitRef="U_USD">169000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_9b732fdb-770e-4440-afe4-7d7e14142556"
      unitRef="U_USD">8000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_c18d9224-82e3-4d74-a2f6-0e1d7fe81cd7"
      unitRef="U_USD">11000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_60c0d10f-742c-462b-bc5d-845a92b96c35"
      unitRef="U_USD">-53000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_fab3742e-f1cf-4200-b40e-98ca4042f65c"
      unitRef="U_USD">-52000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_9325a687-b5ba-4b84-917d-e9d622aafe24"
      unitRef="U_USD">-45000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_8f8fd0fa-4ab4-459a-87ff-1d621187a17e"
      unitRef="U_USD">-41000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_fa771bca-24b6-49a8-b426-a31ea3700e7b"
      unitRef="U_USD">387000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_9dc32a7a-caa9-4619-98c7-7d98b26c8307"
      unitRef="U_USD">128000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_06ac99e3-6e96-4e31-8910-87796c133a24"
      unitRef="U_USD">49000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_44629c15-1408-49ea-a883-852e4a3449ad"
      unitRef="U_USD">387000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_9b2ebd62-0c0a-48fb-97d9-158ed9c019d7"
      unitRef="U_USD">79000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="2"
      id="F_c010e153-0944-4a7a-9456-bf79f5267a96"
      unitRef="U_USDollarShare">0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="2"
      id="F_1154f1a3-8961-4f64-868e-52be4526f95c"
      unitRef="U_USDollarShare">0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="2"
      id="F_e5c2bfae-f4c8-411d-8974-93cae70c938b"
      unitRef="U_USDollarShare">0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="2"
      id="F_04780539-f08a-435e-a87e-6569494fd021"
      unitRef="U_USDollarShare">0.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="0"
      id="F_3c564e5d-3ca3-48ee-94de-be997501fdf4"
      unitRef="U_shares">12156968</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="0"
      id="F_d169d402-461e-4078-bb90-92f523717a4c"
      unitRef="U_shares">11584605</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="0"
      id="F_ac70110b-ff3d-4c66-b159-771d01a0ccae"
      unitRef="U_shares">12315806</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="0"
      id="F_5d977868-91d2-4416-ab21-23d546643539"
      unitRef="U_shares">11898362</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_bce531da-aa1c-45ef-91be-702923c285c3"
      unitRef="U_USD">387000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_e0c600b2-5950-429e-a8fd-dc27c8a08ebc"
      unitRef="U_USD">79000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_fa66b3f1-8326-4adf-ab35-9072b87a318d"
      unitRef="U_USD">73000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_d0b4499d-5beb-495d-8666-84e92f6b5eea"
      unitRef="U_USD">-17000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_51a413c8-ccbe-4fb0-8d38-bf33e5da4930"
      unitRef="U_USD">460000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_f35a5e18-614b-4901-ad0b-8e95048033f2"
      unitRef="U_USD">62000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_e2a80031-945f-47a5-a810-701522f900fc"
      decimals="INF"
      id="F_34ec1c40-56d6-4903-88af-14b5406dded6"
      unitRef="U_shares">11703430</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_e2a80031-945f-47a5-a810-701522f900fc"
      decimals="-3"
      id="F_8ea5c5c6-97cf-4e56-b276-eb531e3febd8"
      unitRef="U_USD">58000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_10a1619b-8d80-4a93-82dc-0f42920bbe0c"
      decimals="-3"
      id="F_988d6abe-d929-44ca-98d6-cc91e962b13b"
      unitRef="U_USD">132780000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_9155f498-db82-4ded-8c5f-d0176a497a05"
      decimals="-3"
      id="F_102c1d5d-48c7-446e-8029-9d9b96d8f080"
      unitRef="U_USD">-98785000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_56241372-836c-4631-8a97-1963346dab4e"
      decimals="-3"
      id="F_f0073483-be2d-47c9-b42d-2fb148f7675f"
      unitRef="U_USD">-238000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_67551bd5-71fb-4a62-9c77-0229b9ed1a32"
      unitRef="U_USD">33815000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9"
      decimals="INF"
      id="F_bd8198ea-6f3b-4803-a6e8-05105a250312"
      unitRef="U_shares">8528</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="C_ceda8827-c01d-4028-9ca3-685c787d5d0b"
      decimals="-3"
      id="F_3d542992-268a-4c68-b987-0e56fb752d6a"
      unitRef="U_USD">13000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_0fd8e0ab-7b9c-4aed-bd25-6eba0bccc188"
      unitRef="U_USD">13000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9"
      decimals="INF"
      id="F_227bfd6c-bdca-439c-aa62-a5bb9215c48c"
      unitRef="U_shares">57623</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_ceda8827-c01d-4028-9ca3-685c787d5d0b"
      decimals="-3"
      id="F_9955d85a-4b5f-47ab-aed0-a7ccbb932668"
      unitRef="U_USD">1634000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_f4afd79c-22e7-48e8-9da9-9cebc9ccc5e5"
      unitRef="U_USD">1634000</us-gaap:StockRepurchasedDuringPeriodValue>
    <ssti:StockIssuedDuringPeriodSharesRestrictedStockAwardVesting
      contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9"
      decimals="INF"
      id="F_68f03250-e1a6-4851-bad4-b573f1ca3aab"
      unitRef="U_shares">22755</ssti:StockIssuedDuringPeriodSharesRestrictedStockAwardVesting>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9"
      decimals="INF"
      id="F_f0e82a53-5c0d-427e-957b-07201e550670"
      unitRef="U_shares">464540</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_dda2ce30-884c-4335-a113-67bae204a1b9"
      decimals="-3"
      id="F_3bd8c1f8-6460-425d-9c74-cdd8be0620b8"
      unitRef="U_USD">3000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_ceda8827-c01d-4028-9ca3-685c787d5d0b"
      decimals="-3"
      id="F_d61815fb-aea4-432e-b551-41d2b6e7d1b9"
      unitRef="U_USD">14263000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_99210859-6fe2-4974-ad5f-12da1af65ada"
      unitRef="U_USD">14266000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_ceda8827-c01d-4028-9ca3-685c787d5d0b"
      decimals="-3"
      id="F_68abbae3-0679-4329-82f3-88112c5a7e70"
      unitRef="U_USD">1855000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_016ce1aa-530b-4b34-a3f5-c21376d84699"
      unitRef="U_USD">1855000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="C_f086e84e-aaff-421f-b0c4-0133e95abe9f"
      decimals="-3"
      id="F_da76cb0a-56e2-41a7-8039-0c6f3c644a13"
      unitRef="U_USD">73000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_1ba7794a-3ac5-4df0-9f65-42a0d0aa8c1d"
      unitRef="U_USD">73000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="C_847e9941-df00-4d67-ae0a-bb53a9bab527"
      decimals="-3"
      id="F_9ec4f53b-afab-4058-9da9-d6f6d0628298"
      unitRef="U_USD">387000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_714da149-ae55-4765-a4fb-e42d285335b9"
      unitRef="U_USD">387000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="C_013a8e8f-c6a7-4437-8a68-81c08d11b6bb"
      decimals="INF"
      id="F_b0cc65e7-cc5c-4333-b836-de9296dc8eec"
      unitRef="U_shares">12141630</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_013a8e8f-c6a7-4437-8a68-81c08d11b6bb"
      decimals="-3"
      id="F_4aefa44b-c77c-4273-94e4-46d446d55e54"
      unitRef="U_USD">61000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_69f5bbbc-32bd-4059-80b2-6cbe368e83e0"
      decimals="-3"
      id="F_48094d18-d9e2-4d08-9ce5-1886869226fe"
      unitRef="U_USD">147277000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_c885d15f-9678-4e90-bcd6-a44c20a9c586"
      decimals="-3"
      id="F_841fb276-239b-4584-9351-c7e967df95c3"
      unitRef="U_USD">-98398000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_24466a16-3d8a-44a7-8b64-2466c8f7399b"
      decimals="-3"
      id="F_49248516-db36-41a7-8507-63d5114e80b8"
      unitRef="U_USD">-165000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_4f6f3c8b-f50e-4de6-87f5-2bf8bc378928"
      unitRef="U_USD">48775000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="C_eb0806c9-cd9b-413b-8f47-de2bacb95acd"
      decimals="INF"
      id="F_a627b944-e42e-4248-85af-c2d46b786468"
      unitRef="U_shares">11538998</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_eb0806c9-cd9b-413b-8f47-de2bacb95acd"
      decimals="-3"
      id="F_558807d8-1cd0-4166-a80b-780666fda4f8"
      unitRef="U_USD">58000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_9cbf2ee2-894f-4a71-b626-698b19667284"
      decimals="-3"
      id="F_133c73f8-7ead-4911-8eb1-7d50a59c4c27"
      unitRef="U_USD">128771000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_f20a2430-6b11-44bf-b344-9ac90161c69a"
      decimals="-3"
      id="F_07e6dea7-1275-490c-b680-be7324d51fb0"
      unitRef="U_USD">-94354000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_ac64ea28-323e-4973-aee6-6462d61aa55e"
      decimals="-3"
      id="F_f64617e7-78b0-4f5e-a08b-fbf43bd594f4"
      unitRef="U_USD">-170000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_3736fb25-2053-4120-9851-540beeb0c02f"
      decimals="-3"
      id="F_42fb9dba-88c9-4375-89d0-5fa0df53cf7d"
      unitRef="U_USD">34305000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e"
      decimals="INF"
      id="F_c9d45ba5-74c9-472a-854e-baa393cb0a78"
      unitRef="U_shares">60600</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="C_f693f9e2-fcf5-4500-886e-d308a3e00976"
      decimals="-3"
      id="F_7b15fc5d-5fe2-4f90-9145-0d7b189e8c17"
      unitRef="U_USD">213000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_34f89fb8-0c45-4fe8-9be3-493a4dd59756"
      unitRef="U_USD">213000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <ssti:StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants
      contextRef="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e"
      decimals="INF"
      id="F_c0a1f0a9-68b1-4f7f-9681-691aee9d892d"
      unitRef="U_shares">50716</ssti:StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants>
    <ssti:StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants
      contextRef="C_f693f9e2-fcf5-4500-886e-d308a3e00976"
      decimals="-3"
      id="F_b83ae0e9-38bb-44d2-bd90-7de2524ecc66"
      unitRef="U_USD">8000</ssti:StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants>
    <ssti:StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_8a54f114-dbdf-4211-a973-c531c99ed805"
      unitRef="U_USD">8000</ssti:StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants>
    <ssti:StockIssuedDuringPeriodSharesRestrictedStockAwardVesting
      contextRef="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e"
      decimals="INF"
      id="F_98847899-5d82-4275-ba99-a4ad90f42691"
      unitRef="U_shares">24332</ssti:StockIssuedDuringPeriodSharesRestrictedStockAwardVesting>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_b0e1f317-2e22-470d-bbd4-abcdc046ae7e"
      decimals="INF"
      id="F_74c273bf-b765-44f1-8fa6-13e10255b0a1"
      unitRef="U_shares">56162</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_f693f9e2-fcf5-4500-886e-d308a3e00976"
      decimals="-3"
      id="F_1add4e3b-b3a4-4105-914b-7b79a55c1408"
      unitRef="U_USD">2192000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_465e4254-be3e-4697-adbd-02a5d18ea53c"
      unitRef="U_USD">2192000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_f693f9e2-fcf5-4500-886e-d308a3e00976"
      decimals="-3"
      id="F_054df94f-b4ee-4630-b63c-d2d1c4a3dfa3"
      unitRef="U_USD">1375000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_b1a50879-58d5-4eba-801e-6bbe9d07bf36"
      unitRef="U_USD">1375000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="C_ac2383f8-92eb-4b35-a1be-833c41494387"
      decimals="-3"
      id="F_ee30b0d8-bf90-44a6-aace-bea2d72ebb58"
      unitRef="U_USD">-17000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_8b12ab7f-3df6-4a45-bcc0-50d96a64556d"
      unitRef="U_USD">-17000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="C_6fbf2e10-7fc5-48f6-877b-2274696167fe"
      decimals="-3"
      id="F_f589c808-1807-4bbb-aa26-7e84acd76c67"
      unitRef="U_USD">79000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_43afd955-c431-457b-9e45-31a444657430"
      unitRef="U_USD">79000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="C_a7449ef2-b425-4a7d-9851-4d5a0c0cccc7"
      decimals="INF"
      id="F_0a435f06-5d86-479f-b424-eeefdb80ee00"
      unitRef="U_shares">11618484</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_a7449ef2-b425-4a7d-9851-4d5a0c0cccc7"
      decimals="-3"
      id="F_c395cfac-9245-49e5-b09e-d66dac9a4292"
      unitRef="U_USD">58000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_eacf896e-0272-4152-9e89-a1cf28665b32"
      decimals="-3"
      id="F_af1f7690-851c-4ce4-9a44-2e52c4b0a51d"
      unitRef="U_USD">128175000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_72cd9c5e-0719-4cd4-84e7-551f796cb4b2"
      decimals="-3"
      id="F_6a96d009-cf05-4699-8c27-61129c6644b7"
      unitRef="U_USD">-94275000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_713f7152-5be2-4f20-960a-94e306fa3467"
      decimals="-3"
      id="F_08197cb0-c6eb-43dd-9e9a-64f6cd4ec163"
      unitRef="U_USD">-187000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_b2e06c7d-9265-40ca-aa39-9c11a2b3a5ae"
      decimals="-3"
      id="F_b06a4214-b453-4169-b37f-8f35dd735b49"
      unitRef="U_USD">33771000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_056f8a47-2035-40d3-93fd-75564a342e00"
      unitRef="U_USD">387000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_9d20b3b9-6fea-42b2-ab84-602ffd198113"
      unitRef="U_USD">79000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_d4a14655-0da6-483d-82ca-c3fa01131722"
      unitRef="U_USD">1487000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_b30261af-6ff8-4c63-a0ee-a48e0ef91890"
      unitRef="U_USD">1393000</us-gaap:Depreciation>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_d14df864-ae66-4de9-86d0-473e558a9f2b"
      unitRef="U_USD">695000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_5f76bdb8-9069-487a-add2-5e4a0486fca8"
      unitRef="U_USD">259000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ProductionRelatedImpairmentsOrCharges
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_e9ea74ae-1799-4a16-aa8f-638be312cb58"
      unitRef="U_USD">25000</us-gaap:ProductionRelatedImpairmentsOrCharges>
    <us-gaap:ShareBasedCompensation
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_e0654ce7-447d-4803-8e0c-b23ecaeda421"
      unitRef="U_USD">1855000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_687c4212-eff8-4785-82d1-b32d07eb3e0e"
      unitRef="U_USD">1375000</us-gaap:ShareBasedCompensation>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_c68041ab-a805-4983-9611-90535ffbe251"
      unitRef="U_USD">77000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_bd1d8918-69ef-4646-8870-82ec3e1bb6e0"
      unitRef="U_USD">44000</us-gaap:ProvisionForDoubtfulAccounts>
    <ssti:IncreaseDecreaseInAccountsReceivableAndContractAsset
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_4724c331-9a85-473c-bc7f-6eeb7f057995"
      unitRef="U_USD">4976000</ssti:IncreaseDecreaseInAccountsReceivableAndContractAsset>
    <ssti:IncreaseDecreaseInAccountsReceivableAndContractAsset
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_77579d4f-ed93-4a69-811e-723ca8c01fc8"
      unitRef="U_USD">3929000</ssti:IncreaseDecreaseInAccountsReceivableAndContractAsset>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_30afe8ed-6a4a-4bdb-90fe-f1781563b660"
      unitRef="U_USD">439000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_6a0ed046-8c4f-491f-9760-edee5ccfe6ee"
      unitRef="U_USD">-134000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_6b922a59-7c53-4ca8-84c2-5c0d492ecdd9"
      unitRef="U_USD">145000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_0592da76-685d-4c80-b706-68ce1cfb130d"
      unitRef="U_USD">-1220000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_a1af6b21-f915-40f3-a440-7766366b88b4"
      unitRef="U_USD">-1451000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_58316f31-e5b2-463e-9c6c-db8841856e2c"
      unitRef="U_USD">3417000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_4b474b1b-d2fb-41c5-afe3-9f254927397d"
      unitRef="U_USD">430000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_aa0afa51-bbb3-4c32-bd0e-8777c9c9f121"
      unitRef="U_USD">1283000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_44ad73c4-88b2-4d26-8773-4daf16d97560"
      unitRef="U_USD">-1496000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_8529be86-5c2a-42e3-909c-c16f4e81cd70"
      unitRef="U_USD">1900000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_31b5dbb9-1d86-4b43-8cba-e20c1daff3ac"
      unitRef="U_USD">1233000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <ssti:PaymentForInvestmentInIntangibleAndOtherAssets
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_a44aec77-1ee7-497e-a880-0cfcd06545f9"
      unitRef="U_USD">8000</ssti:PaymentForInvestmentInIntangibleAndOtherAssets>
    <ssti:PaymentForInvestmentInIntangibleAndOtherAssets
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_433f6b73-0800-4907-84f9-113071025b03"
      unitRef="U_USD">13000</ssti:PaymentForInvestmentInIntangibleAndOtherAssets>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_63b980f2-c3b1-4145-ac45-ada4d01fa333"
      unitRef="U_USD">4618000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_5eee3712-88ee-4264-a90e-befa74bec713"
      unitRef="U_USD">-15000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_26f26b29-678f-4d12-8b14-ff7fa32ddf4a"
      unitRef="U_USD">-6526000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_dc60259d-e76a-403f-82b6-0fb332934ef4"
      unitRef="U_USD">-1231000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_0a9f1b4b-3a4d-401b-94b1-4e1365e98b7a"
      unitRef="U_USD">403000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_739777d9-8e50-4388-9b26-7d8b0d322dfd"
      unitRef="U_USD">13000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_4c4c4c4d-cdf5-4332-bcb2-3c37f989b29f"
      unitRef="U_USD">213000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_56e2ac51-dacf-419a-901b-00ac4a503da2"
      unitRef="U_USD">1634000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_54bc2b71-9acd-421c-87ae-d7075ae0b081"
      unitRef="U_USD">2192000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_baeab1d4-42fd-4c7d-b762-ee826a66b9bb"
      unitRef="U_USD">8000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_8f64ff93-e8a4-44f9-a191-dd71b991834f"
      unitRef="U_USD">-1621000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_131fa32d-996a-4009-9bb7-41e585cc5fb2"
      unitRef="U_USD">-2374000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_3619e782-11f2-49a6-b56f-cfc414d137b1"
      unitRef="U_USD">-6864000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_ad780358-6eb7-4628-90cf-43220b6e406d"
      unitRef="U_USD">-5101000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_477e583d-b461-4d68-8b23-36b8cf9171b1"
      unitRef="U_USD">80000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_059b70d6-69fb-4f67-ab76-cd84005569fd"
      unitRef="U_USD">-2000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_4b7c27dd-0537-455b-a486-45339e5d1c6a"
      unitRef="U_USD">15636000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_3736fb25-2053-4120-9851-540beeb0c02f"
      decimals="-3"
      id="F_05de15e0-3a50-4b8c-a369-49a6d8f03a3b"
      unitRef="U_USD">16043000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_550b4ff4-59fc-42af-96c2-58242db87a0f"
      unitRef="U_USD">8852000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_b2e06c7d-9265-40ca-aa39-9c11a2b3a5ae"
      decimals="-3"
      id="F_53a3a5da-2286-4021-8f5d-1c7589bdb3f1"
      unitRef="U_USD">10940000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <ssti:PropertyAndEquipmentPurchasesIncludedInAccountsPayable
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_c79747bc-cd5e-4365-8625-4e526608e57d"
      unitRef="U_USD">731000</ssti:PropertyAndEquipmentPurchasesIncludedInAccountsPayable>
    <ssti:PropertyAndEquipmentPurchasesIncludedInAccountsPayable
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_c4e05f6d-16bb-484c-962d-abe5e620f9f2"
      unitRef="U_USD">590000</ssti:PropertyAndEquipmentPurchasesIncludedInAccountsPayable>
    <ssti:FairValueOfContingentConsideration
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_eb9c1d6a-5275-4600-b188-458fa5955f10"
      unitRef="U_USD">12400000</ssti:FairValueOfContingentConsideration>
    <ssti:FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_3d5fdb6e-a0d8-4df9-a38c-ece6afb35f11"
      unitRef="U_USD">14266000</ssti:FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_252c73ee-2754-4311-817f-83771cc44121">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:10.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 1. Organization and Description of Business&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;ShotSpotter, Inc. (the &#x201c;Company&#x201d;) provides precision-policing solutions for law enforcement and security personnel to help prevent and reduce gun violence and make cities, campuses and facilities safer. The Company&#x2019;s flagship product, ShotSpotter Respond is the leading outdoor gunshot detection, location and alerting system trusted by over &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;130&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;cities as of March 31, 2022. ShotSpotter Connect creates crime forecasts designed to enable more precise and effective use of patrol resources to deter crime. The Company&#x2019;s case management solution, ShotSpotter Investigate, and search and analysis solution, COPLINK X, are cloud-based investigative platforms to help law enforcement agencies modernize every phase of an investigation and accelerate case work with easy-to-use software tools. The Company offers its solutions on a Software as a Service, ("SaaS"), subscription model to its customers. ShotSpotter Labs is the Company&#x2019;s effort to support innovative uses of its technology to help protect wildlife and the environment.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company&#x2019;s principal executive offices are located in Fremont, California. The Company has &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;five&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; wholly-owned subsidiaries.&lt;/span&gt;&lt;/p&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <ssti:NumberOfCitiesInWhichEntityOperates
      contextRef="C_aa1873bc-e3db-4e52-8998-c3376e3fefb6"
      decimals="INF"
      id="F_f5982b50-9bdf-4edd-b463-edd4764dc57d"
      unitRef="U_City">130</ssti:NumberOfCitiesInWhichEntityOperates>
    <ssti:NumberOfSubsidiary
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_324a4c99-8d10-4c07-b2c6-3239563b93dc"
      unitRef="U_Subsidiary">5</ssti:NumberOfSubsidiary>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_ad38df7a-47cb-4960-86ab-f2877846be8b">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 2. Summary of Significant Accounting Policies&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Basis of Presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (&#x201c;U.S. GAAP&#x201d;) and applicable rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company&#x2019;s Annual Report on Form 10-K for the year ended December 31, 2021 (&#x201c;Annual Report&#x201d;) filed with the SEC on March 29, 2022.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive income (loss), stockholders&#x2019; equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2022 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Use of Estimates&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company&#x2019;s financial position and results of operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company makes an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentrations of Risk&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Credit Risk&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its cash deposits at two domestic and four international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentration of Accounts Receivable and Contract Asset&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; At March 31, 2022, &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;two&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; customers accounted for &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;38&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% and &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company&#x2019;s total accounts receivable, respectively. At December 31, 2021, &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; customer accounted for &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;65&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company&#x2019;s total accounts receivable.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentration of Revenues&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; For the three months ended March 31, 2022, &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;two&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; customers accounted for &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;38&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% and &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company&#x2019;s total revenues, respectively. For the three months ended March 31, 2021, &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;two&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; customers accounted for &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;34&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% and &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company&#x2019;s total revenues, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentration of Suppliers&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2013;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company&#x2019;s proprietary sensors.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_d6d0439e-f2c6-4b99-9546-0ea60555787c">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Basis of Presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (&#x201c;U.S. GAAP&#x201d;) and applicable rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company&#x2019;s Annual Report on Form 10-K for the year ended December 31, 2021 (&#x201c;Annual Report&#x201d;) filed with the SEC on March 29, 2022.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive income (loss), stockholders&#x2019; equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2022 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_8154baf5-da42-4cf2-afbc-2c2149ac4ac0">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Use of Estimates&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company&#x2019;s financial position and results of operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company makes an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.&lt;/span&gt;&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_d61ccb89-1516-4c58-abce-4f2ae5d6d159">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentrations of Risk&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Credit Risk&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its cash deposits at two domestic and four international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentration of Accounts Receivable and Contract Asset&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; At March 31, 2022, &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;two&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; customers accounted for &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;38&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% and &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company&#x2019;s total accounts receivable, respectively. At December 31, 2021, &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;one&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; customer accounted for &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;65&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company&#x2019;s total accounts receivable.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentration of Revenues&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &#x2013; For the three months ended March 31, 2022, &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;two&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; customers accounted for &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;38&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% and &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company&#x2019;s total revenues, respectively. For the three months ended March 31, 2021, &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;two&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; customers accounted for &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;34&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% and &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the Company&#x2019;s total revenues, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:4.533%;text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;text-decoration:underline;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Concentration of Suppliers&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2013;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company&#x2019;s proprietary sensors.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <ssti:NumberOfCustomers
      contextRef="C_a75b9ebe-c12f-409f-a67e-f6f5b2af1084"
      decimals="INF"
      id="F_9a3becc3-2642-47e3-9f8d-5c6e50c1ca07"
      unitRef="U_Customer">2</ssti:NumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_f8fe2972-47b2-42f5-83c0-73f012720d9b"
      decimals="2"
      id="F_1a4fb881-084f-4bc0-8934-9963774bf0c8"
      unitRef="U_pure">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_25251528-9af4-4905-be67-943ba86f608d"
      decimals="2"
      id="F_72f3ef9d-55c6-46eb-bb4d-20a25c60d349"
      unitRef="U_pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <ssti:NumberOfCustomers
      contextRef="C_3b619813-ae07-4d2d-9852-8f085df573f9"
      decimals="INF"
      id="F_11a880f9-47c7-4075-9c16-d7fbc66556b1"
      unitRef="U_Customer">1</ssti:NumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_48e71403-207a-49f2-b9e5-81480f3100fa"
      decimals="2"
      id="F_2802db8a-5787-4916-aaae-c97c2b860257"
      unitRef="U_pure">0.65</us-gaap:ConcentrationRiskPercentage1>
    <ssti:NumberOfCustomers
      contextRef="C_689186f9-cf1e-4f8f-ac98-c83c35dd888d"
      decimals="INF"
      id="F_735e47a5-ee77-4e24-99de-eb7456e751f4"
      unitRef="U_Customer">2</ssti:NumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_f8b904a2-e65c-4aa8-9edb-2cc959ab35fa"
      decimals="2"
      id="F_b6813e57-178c-4922-bc97-3e7754fdcbc9"
      unitRef="U_pure">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_66217ff4-3ef7-4c48-b2dd-977a50db3643"
      decimals="2"
      id="F_b3918c42-59b4-4989-9597-e49b57028167"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <ssti:NumberOfCustomers
      contextRef="C_4ac35662-3179-48c0-9516-cadedb959104"
      decimals="INF"
      id="F_9dcbc112-7022-493c-95dd-bfb2f68aee48"
      unitRef="U_Customer">2</ssti:NumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_0f5bdb17-b55f-4907-a446-82cf51ddc777"
      decimals="2"
      id="F_3a84d6b7-42eb-4874-b280-0685f4794723"
      unitRef="U_pure">0.34</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_64cca3a9-1715-4247-a260-e28ac48884b7"
      decimals="2"
      id="F_ea3d4b7d-65f6-462f-8c0b-d9081a2b1d20"
      unitRef="U_pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_8d8ce542-75f9-4d2a-8807-9b0ddc467a6f">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 3. Revenue Related Disclosures&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The changes in deferred revenue were as follows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:63.951%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.867%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.822%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.867%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;26,709&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;24,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Deferred revenues acquired (Note 4 - Business Acquisitions)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;5,382&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;New billings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;24,527&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;15,432&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Revenue recognized during the year from beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;9,825&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;10,103&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Revenue recognized during the year from new billings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;11,292&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;4,898&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Foreign currency impact&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;35,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;25,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:11.0pt;font-family:Calibri;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2022 (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.582%;"/&gt;
        &lt;td style="width:16.639%;"/&gt;
        &lt;td style="width:1.716%;"/&gt;
        &lt;td style="width:1.344%;"/&gt;
        &lt;td style="width:15.037%;"/&gt;
        &lt;td style="width:0.682%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_ca45c7cb-2415-41ef-9a5e-24d3940aba6b;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;40,844&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_31c5cee5-7133-4e5e-99f4-3fd183c09aa4;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;34,805&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_2090c233-5365-4527-bf22-621b0a71f29f;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;23,213&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_c71bd0db-78cc-4b95-8339-567b07db49ef;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Thereafter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,954&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;111,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The timing of certain revenue recognition included in the table above is based on estimates of go-live dates for contracts not yet live. Contractually committed revenue includes deferred revenue as of March 31, 2022 and amounts under contract that will be invoiced after March 31, 2022.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the three months ended March 31, 2022, the Company recognized revenues of $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;20.8&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million from customers in the United States, and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.4&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million from customers in the Bahamas and South Africa. During the three months ended March 31, 2021, the Company recognized revenues of $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;14.8&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million from customers in the United States, and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million from customers in the Bahamas and South Africa.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the three months ended March 31, 2022, the Company recognized revenues of $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;19.0&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million from monthly subscription, maintenance and support services, and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2.2&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million from professional software development services. During the three months ended March 31, 2021, the Company recognized revenues of $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13.3&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million from monthly subscription, maintenance and support services, and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1.7&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million from professional software development services.&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_dfd4e829-f31b-48aa-841e-a4ab8405bf98">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The changes in deferred revenue were as follows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:63.951%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.867%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.822%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.867%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;26,709&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;24,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Deferred revenues acquired (Note 4 - Business Acquisitions)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;5,382&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;New billings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;24,527&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;15,432&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Revenue recognized during the year from beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;9,825&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;10,103&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Revenue recognized during the year from new billings&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;11,292&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;4,898&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Foreign currency impact&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;35,509&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;25,008&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_df9cbe23-54f0-4813-b504-7e86aa8782f7"
      unitRef="U_USD">26709000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_3736fb25-2053-4120-9851-540beeb0c02f"
      decimals="-3"
      id="F_daecdd37-c249-4968-9f9a-97e31511d627"
      unitRef="U_USD">24578000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_1cf1e7f7-ab2f-4829-94c6-2649c8364b03"
      unitRef="U_USD">5382000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_1f142b4f-3307-4bb1-b6f5-f86cd7bb6d6f"
      unitRef="U_USD">24527000</us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress>
    <us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_bee4db56-5503-4ab8-9cc7-2869cfcf2f3e"
      unitRef="U_USD">15432000</us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_399a9fce-9b5a-4b9b-a866-37d578b694d8"
      decimals="-3"
      id="F_58017fb3-57f8-44b9-aa66-c3bbc0e70c9c"
      unitRef="U_USD">9825000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_476a140b-0af2-4534-a473-04d9443a51ab"
      decimals="-3"
      id="F_d7b19b63-4c47-4aac-9a52-2a407daa33fa"
      unitRef="U_USD">10103000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_ee8d10ba-4d44-47de-a529-6183934059b2"
      decimals="-3"
      id="F_1cdb0d1a-66b7-47dc-a12f-70c57898aced"
      unitRef="U_USD">11292000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="C_cfbc7e87-55a1-4604-86d3-03aed1e4ab9c"
      decimals="-3"
      id="F_90092928-f822-4420-b0c9-521b27c6728d"
      unitRef="U_USD">4898000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <ssti:ContractWithCustomerLiabilityForeignCurrencyImpact
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_ea742108-e199-4aec-9915-0babe7bc34c7"
      unitRef="U_USD">8000</ssti:ContractWithCustomerLiabilityForeignCurrencyImpact>
    <ssti:ContractWithCustomerLiabilityForeignCurrencyImpact
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_fbc63fd7-f69f-426c-bb6f-1fdc3f51c594"
      unitRef="U_USD">-1000</ssti:ContractWithCustomerLiabilityForeignCurrencyImpact>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_cb299d96-a7f1-46f6-b6d0-75f1b7a7cc64"
      unitRef="U_USD">35509000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="C_b2e06c7d-9265-40ca-aa39-9c11a2b3a5ae"
      decimals="-3"
      id="F_a0eaf246-4004-437a-a645-a0603dc1f849"
      unitRef="U_USD">25008000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_a4b5e2da-7190-428a-baee-c5960f52de9f">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2022 (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:2.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.582%;"/&gt;
        &lt;td style="width:16.639%;"/&gt;
        &lt;td style="width:1.716%;"/&gt;
        &lt;td style="width:1.344%;"/&gt;
        &lt;td style="width:15.037%;"/&gt;
        &lt;td style="width:0.682%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_ca45c7cb-2415-41ef-9a5e-24d3940aba6b;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;40,844&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_31c5cee5-7133-4e5e-99f4-3fd183c09aa4;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;34,805&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_2090c233-5365-4527-bf22-621b0a71f29f;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;23,213&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="-sec-ix-hidden:F_c71bd0db-78cc-4b95-8339-567b07db49ef;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Thereafter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,954&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;111,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="C_edcef4b9-11d8-4db7-831d-3574c5603b9c"
      decimals="-3"
      id="F_9101c58d-f169-4bec-8bd1-5b234bf688dd"
      unitRef="U_USD">40844000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="C_6bbccba0-c383-4d9d-8d75-e5ba25f4162d"
      decimals="-3"
      id="F_7646423e-ef25-4526-b1ee-f7f8bfea3712"
      unitRef="U_USD">34805000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="C_cc5aeaf0-fdaa-492d-b857-72097dc114c2"
      decimals="-3"
      id="F_dccc5103-c1f7-49fa-84ce-65fedf7015c9"
      unitRef="U_USD">23213000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="C_5d18c9ad-a55b-4d85-8eff-1b93264d0a44"
      decimals="-3"
      id="F_052c3947-112b-4a44-935a-6c39fa2b57a6"
      unitRef="U_USD">12954000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_69aaede2-ded6-45bb-b342-f81ac141d9af"
      unitRef="U_USD">111816000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:Revenues
      contextRef="C_76a6cfd6-9238-4e67-ab3e-3da3d51f3e5e"
      decimals="-5"
      id="F_9cda82e2-a3ac-4827-b754-bd44b3d0be32"
      unitRef="U_USD">20800000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_d9e37333-8edd-4ffd-a810-53ef6453a4d6"
      decimals="-5"
      id="F_9e81c0d9-e8ac-4e27-8aad-9d781e50512e"
      unitRef="U_USD">400000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_358f5a66-3fc8-4998-bf7d-bc75da891e76"
      decimals="-5"
      id="F_9e0a4564-8858-45f2-99ba-b05807f6bb29"
      unitRef="U_USD">400000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_03365dc6-f39e-4d2b-ab67-51bf05e56670"
      decimals="-5"
      id="F_dad16a8d-d35b-42cf-9e1b-dac15d8a8985"
      unitRef="U_USD">14800000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_149c4457-3c21-42c3-8c10-21f15d44c8c0"
      decimals="-5"
      id="F_32225b93-7f10-48cc-813e-4b371743e88b"
      unitRef="U_USD">200000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_077a6235-4e0b-4ed9-85dc-78669c9bb0dd"
      decimals="-5"
      id="F_113022bb-4092-4bea-b6c5-8b5861dafd07"
      unitRef="U_USD">200000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_8c8e20e8-ebcc-4c8c-ad27-48304a267e32"
      decimals="-5"
      id="F_0766dcd7-12b3-4f31-9b7d-0487ae25c2ca"
      unitRef="U_USD">19000000.0</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_2f649efb-908a-4a42-b7cf-3ffa2276f3d0"
      decimals="-5"
      id="F_e17c2125-a2bb-4b6b-aa10-6eae8b55ed83"
      unitRef="U_USD">2200000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_54df0e89-4c2b-4985-b730-504d08334fe9"
      decimals="-5"
      id="F_42e684a4-a2f4-4fa2-beac-2163b2b8fa07"
      unitRef="U_USD">13300000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="C_e5f850f0-595c-499b-bb12-deeb538a3ff0"
      decimals="-5"
      id="F_9f4d286f-b83b-4fc6-8acd-25b5c406df4f"
      unitRef="U_USD">1700000</us-gaap:Revenues>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_d94ba1ec-7c09-4d85-89d0-15dc3f23f6a5">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 4. Business Acquisitions&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.1020833333333333;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;In October 2021, the Financial Accounting Standards Board issued Accounting Standards Update ("ASU") 2021-08, &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts from Customers&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;. ASU 2021-08 aimed to improve the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability and the effect of payment terms on subsequent revenue recognized by the acquirer. These amendments were effective prospectively for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The Company &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;adopted&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; this ASU on &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;January 1, 2022&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;On &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;January 3, 2022&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;, the Company completed the acquisition of &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the membership interests in Forensic Logic, LLC (&#x201c;Forensic Logic&#x201d;) for purchase consideration of $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;4.9&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in cash, subject to working capital adjustments, and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;14.3&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;464,540&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of ShotSpotter common stock based on the closing price on the date of acquisition. The purchase consideration also included a contingent earnout agreement. Up to $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;9.5&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in contingent earnout will be payable based on Forensic Logic&#x2019;s revenues generated during 2022. An additional amount up to $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;10.5&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million contingent earnout will be payable based on Forensic Logic&#x2019;s revenues during 2023. The amounts are payable within approximately &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;120 days&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; after the end of 2022 and 2023, respectively. The estimated fair value of the contingent earnout on the date of acquisition is $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12.4&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, resulting in a total estimated purchase consideration of $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;31.6&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The acquisition will enable the Company to broaden its suite of precision policing solutions and cloud-based investigative platforms to offer its customers.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the allocation of the purchase price as of the acquisition date, January 3, 2022 (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.661%;"/&gt;
        &lt;td style="width:16.744%;"/&gt;
        &lt;td style="width:1.378%;"/&gt;
        &lt;td style="width:1.337%;"/&gt;
        &lt;td style="width:14.985%;"/&gt;
        &lt;td style="width:0.895%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accounts receivable and contract asset, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease right-of-use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,893&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Software technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;7,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;8,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;20,355&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;186&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accrued expenses and other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;635&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,893&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;5,382&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total estimated consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;31,587&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;purchase price allocation above is final except for measure period adjustments which may be required in the future following purchase price adjustments related to working capital true-up. Goodwill primarily represents the value of cash flows from future customers and the employee workforce. The Company expects to deduct the amortization of goodwill and intangible assets for tax purposes. A portion of the amortization deduction will commence upon settlement of contingent consideration and contingent liabilities. The Company valued the intangible assets using income-based&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;approaches. &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Significant assumptions included forecasts of revenues, cost of revenues, research and development expense, sales and marketing expense, general and administrative expense, technology lives, royalty rates, working capital rates, customer attrition rates and other estimates. The Company discounted the cash flows at &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;%, reflecting the risk profile of the assets.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Acquisition-related expenses totaled $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.6&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, of which $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million is included in general and administrative expense for the quarter ended March 31, 2022 and the remainder was incurred during the year ended December 31, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The unaudited pro forma combined revenue and net income presented below have been prepared as if the Company had acquired Forensic Logic on January 1, 2021. The unaudited pro forma financial information has been derived from the consolidated statements of operations of the Company and Forensic Logic for the below period. The historical financial information has been adjusted in the unaudited combined pro forma information based upon currently available information and certain estimates and assumptions. The actual effect of the transactions ultimately may differ from the pro forma adjustments included herein. However, management believes that the assumptions used to prepare the pro forma adjustments provide a reasonable basis for presenting the significant effects of the transactions as currently contemplated and that the pro forma adjustments are factually supportable, give appropriate effect to the expected impact of events that are directly attributable to the transactions, and reflect those items expected to have a continuing impact on the Company. The unaudited pro forma financial information as presented below is for informational purposes only and is not necessarily indicative of the results of operations that would have been achieved if the acquisition had taken place on January 1, 2021.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The unaudited pro forma combined revenue and net loss for the three months ended March 31, 2021 would have been $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;16.4&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1.1&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, respectively.&lt;/span&gt;&lt;/p&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted
      contextRef="C_7a9733c5-ba7d-4002-b38b-e543d0379d83"
      id="F_a9d1e668-2565-4959-a23c-10688eb85543">true</us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted>
    <us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate
      contextRef="C_7a9733c5-ba7d-4002-b38b-e543d0379d83"
      id="F_30a03060-811c-4295-a969-2d7b6c2ca8ff">2022-01-01</us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate>
    <us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1
      contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5"
      id="F_7af084fb-ef3f-48dc-af64-61f01cd850e2">2022-01-03</us-gaap:BusinessAcquisitionEffectiveDateOfAcquisition1>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="2"
      id="F_cea741df-90c2-4028-9076-5d96c562aeeb"
      unitRef="U_pure">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5"
      decimals="-5"
      id="F_a9a89083-5a7f-41c9-bec1-3994bd4a297d"
      unitRef="U_USD">4900000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="C_1d6a8c8e-13ec-4c41-9389-f38bc4acb183"
      decimals="-5"
      id="F_84860714-fbad-486f-9318-cf89e4733fc1"
      unitRef="U_USD">14300000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="C_1d6a8c8e-13ec-4c41-9389-f38bc4acb183"
      decimals="INF"
      id="F_020d81f7-2ddc-4aab-a7fb-f26fcaf48950"
      unitRef="U_shares">464540</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="C_6217c0e0-7e19-4bbc-803e-31a3e275ca67"
      decimals="-5"
      id="F_ea3d98b8-854c-4741-8917-ba3fca826b1a"
      unitRef="U_USD">9500000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="C_3cd7e47c-cac6-4d3e-8852-da6320e19ffa"
      decimals="-5"
      id="F_75e12741-8b08-4918-849b-f1db7ff01ef5"
      unitRef="U_USD">10500000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <ssti:NumberOfDaysAmountsToBeDeterminedAndPaid
      contextRef="C_c2962ad9-bb09-46ac-af50-a0d496670a23"
      id="F_80c16e36-56e8-4aad-89c0-c60fba5682d7">P120D</ssti:NumberOfDaysAmountsToBeDeterminedAndPaid>
    <ssti:NumberOfDaysAmountsToBeDeterminedAndPaid
      contextRef="C_d70c71a4-0537-4865-98fe-5153e978481c"
      id="F_8e8762db-ed97-4f16-a636-df890b72785a">P120D</ssti:NumberOfDaysAmountsToBeDeterminedAndPaid>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5"
      decimals="-5"
      id="F_0fa36746-3aa8-4ee3-b662-a75569c36d21"
      unitRef="U_USD">12400000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5"
      decimals="-5"
      id="F_7d3b0842-dba1-45f7-b0ab-31ae5da21ba8"
      unitRef="U_USD">31600000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_5115b736-99fd-452d-8b77-500eae194e44">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the allocation of the purchase price as of the acquisition date, January 3, 2022 (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.661%;"/&gt;
        &lt;td style="width:16.744%;"/&gt;
        &lt;td style="width:1.378%;"/&gt;
        &lt;td style="width:1.337%;"/&gt;
        &lt;td style="width:14.985%;"/&gt;
        &lt;td style="width:0.895%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accounts receivable and contract asset, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Property and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease right-of-use asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,893&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Software technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;7,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;8,200&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;20,355&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;186&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accrued expenses and other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;635&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,893&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred revenue&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;5,382&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total estimated consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;31,587&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_244bba04-701b-44df-967f-e470888f55cc"
      unitRef="U_USD">303000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_b0222b31-108c-4fae-9057-4199df25b874"
      unitRef="U_USD">220000</ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_00394843-441a-42f9-ae3c-90df79de7474"
      unitRef="U_USD">200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_1ff31709-c8f2-47ba-b784-44f8bad14a75"
      unitRef="U_USD">1893000</ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_40f0b965-a1b9-41ab-bbe4-627b4ffa0d80"
      decimals="-3"
      id="F_a3044298-6013-4f0e-aed4-7dd0874f3878"
      unitRef="U_USD">7140000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_d277ccbe-b6bb-49dd-8d5d-68359cfecf1e"
      decimals="-3"
      id="F_dfcc9d5e-184f-4877-b0d4-03e071de53e2"
      unitRef="U_USD">1000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="C_e5483310-f248-488b-8ac8-1fdb90040588"
      decimals="-3"
      id="F_d8219ff9-a767-4319-a89c-a8238cca5cbf"
      unitRef="U_USD">8200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:Goodwill
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_2699293e-6e9b-4415-8558-aae5d6b6b3d8"
      unitRef="U_USD">20355000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_453c58e6-a491-4d82-b6a9-f68706d6d9d3"
      unitRef="U_USD">186000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_94d8360e-c5e1-4a18-babc-216b0eb71771"
      unitRef="U_USD">635000</ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities>
    <ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_f7e4c4cd-1bfb-453e-90cf-145112ac818c"
      unitRef="U_USD">1893000</ssti:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_dac841bc-45aa-4388-bbf9-db91bd69fa39"
      unitRef="U_USD">5382000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="C_02bece99-092b-4ccb-b12f-4ceffbd9871a"
      decimals="-3"
      id="F_f2b27db3-7746-4abc-838b-4f69dbcf9440"
      unitRef="U_USD">31587000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <ssti:PercentageOfDiscountedCashFlows
      contextRef="C_46ffefeb-12a2-44f7-b23d-3e7fa124c1d5"
      decimals="2"
      id="F_d2768c8e-e907-4584-8f53-53e855532ee4"
      unitRef="U_pure">0.24</ssti:PercentageOfDiscountedCashFlows>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_c46c6dde-8f86-468c-993e-71b83287e176"
      decimals="-5"
      id="F_09d8f9f1-f744-4938-b78b-56cbc296fc11"
      unitRef="U_USD">600000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="C_f43ac29b-0157-4c8f-abf1-4a98643e6871"
      decimals="-5"
      id="F_67d2a44e-4b92-4651-9306-d6b05c094409"
      unitRef="U_USD">100000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="C_1615a381-fed6-4cf6-a350-2d523a459781"
      decimals="-5"
      id="F_e7d77943-fd48-4234-8bcd-c92f33919b0e"
      unitRef="U_USD">16400000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="C_1615a381-fed6-4cf6-a350-2d523a459781"
      decimals="-5"
      id="F_7219013a-c5fe-4866-8b82-c975ec99c050"
      unitRef="U_USD">-1100000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_36f9de83-f2e7-406a-bf5b-99aa122c0984">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 5. Fair Value Measurements&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;In October 2018, upon the acquisition of certain technology, referred to as HunchLab, from Azavea, Inc., the Company recognized a contingent consideration liability classified within Level III of the fair value hierarchy because some of the inputs used in its measurement were neither directly nor indirectly observable. In February 2021, based on the relevant revenues earned during the three-year contingent consideration period, the Company paid $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.4&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million, resulting in a reduction of the contingent consideration liability.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;In November 2020, using a Monte Carlo Simulation approach, the Company estimated the fair value of the contingent consideration at the acquisition date of LEEDS to be $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. During the fourth quarter of fiscal 2021, the fair value of the contingent consideration was increased by $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1.3&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million based upon estimated 2022 revenue targets, representing an adjustment to the most likely outcome expected for the liability. There have been no changes in the assumptions or fair value of the LEEDS contingent consideration liability during the three months ended March 31, 2022.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;In January 2022, using a Monte Carlo Simulation approach, the Company estimated the fair value of the contingent consideration liability classified within Level III of the fair value hierarchy at the acquisition of Forensic Logic to be $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12.4&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:11.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The changes in the fair value of contingent consideration liability for the three months ended March 31, 2022 and 2021 are as follows (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:63.295%;"/&gt;
        &lt;td style="width:1.781%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.651%;"/&gt;
        &lt;td style="width:0.694%;"/&gt;
        &lt;td style="width:1.356%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.63%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;573&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Payment of contingent consideration liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;403&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Change in fair value of contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contingent consideration - Forensic Logic ( Note 4 - Business Acquisitions)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13,900&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;170&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;There were &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; transfers into or out of Level III during the three months ended March 31, 2022 and 2021. As of March 31, 2022, contingent consideration of $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;6.7&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million is included in Accrued expenses and other current liabilities in the condensed consolidated balance sheet as it is forecasted that the achievement of milestones will occur within the next 12 months, and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;7.2&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million is included in Other liabilities in the condensed consolidated balance sheet.&lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="C_cd8f3b7c-14c8-48d6-8360-5aa042790864"
      decimals="-5"
      id="F_fdb447dc-5eea-4efe-9594-b5e4c6377a59"
      unitRef="U_USD">400000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure
      contextRef="C_c789ba45-efd8-4399-90d0-0de6aa317bf3"
      decimals="-5"
      id="F_afc2c73a-7d37-40d5-aff5-ffab3bc041eb"
      unitRef="U_USD">200000</us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease
      contextRef="C_66f1f79c-069c-4241-a8ce-06d0dc2a668d"
      decimals="-5"
      id="F_342a8230-a170-4d03-b137-6d28edd2ef28"
      unitRef="U_USD">1300000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease>
    <us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure
      contextRef="C_3c20928b-b904-49e2-8a33-627a5c16b136"
      decimals="-5"
      id="F_1aeaa42e-e309-4030-8aa1-a38ba4db1034"
      unitRef="U_USD">12400000</us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_e117330d-001c-4e53-bba4-7687393187d3">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The changes in the fair value of contingent consideration liability for the three months ended March 31, 2022 and 2021 are as follows (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:63.295%;"/&gt;
        &lt;td style="width:1.781%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.651%;"/&gt;
        &lt;td style="width:0.694%;"/&gt;
        &lt;td style="width:1.356%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.63%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;573&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Payment of contingent consideration liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;403&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Change in fair value of contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contingent consideration - Forensic Logic ( Note 4 - Business Acquisitions)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:9.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:9.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13,900&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;170&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="C_2a55f55a-95cc-4ecf-b15c-8ec2f9628b82"
      decimals="-3"
      id="F_81da15ef-c54b-493e-9acc-f52e303d43a6"
      unitRef="U_USD">1500000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="C_dfe2869f-b199-469c-b88f-8095a50d1f4a"
      decimals="-3"
      id="F_406b278f-d2ed-4f60-90f7-8781997a304d"
      unitRef="U_USD">573000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="C_93ee2038-4717-4e84-a909-6fffeee26794"
      decimals="-3"
      id="F_d7158e35-19d7-4124-9fbc-16118b99d195"
      unitRef="U_USD">-403000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="C_ef9a282b-22fb-454e-a4c0-9d25c4b5a326"
      decimals="-3"
      id="F_bc19d520-9cde-4cb2-8d00-1a61d9324f24"
      unitRef="U_USD">12400000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="C_04c5118b-cd7e-4104-91be-ab3136b0c3b9"
      decimals="-3"
      id="F_d12daf83-75c0-4c12-ac72-b09d228822dd"
      unitRef="U_USD">13900000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="C_4816fe98-96a7-4419-94c9-dbe96265db7b"
      decimals="-3"
      id="F_c6cd2d52-ff67-42c3-9c7f-2694e5b8c2f9"
      unitRef="U_USD">170000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="INF"
      id="F_17095544-c503-44a1-b991-45abde3f23aa"
      unitRef="U_USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="INF"
      id="F_d184c7af-4f96-4621-8b4e-e15eb6138e43"
      unitRef="U_USD">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="C_8fa6aee4-ad12-4340-a0b5-3459974229a6"
      decimals="-5"
      id="F_964c30be-01af-4059-8a5c-b3a16bb4424b"
      unitRef="U_USD">6700000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="C_9f6170cf-8101-4119-a25e-ad90823fc7e3"
      decimals="-5"
      id="F_e71c4310-b029-4e31-b9f6-20cb974df7db"
      unitRef="U_USD">7200000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:GoodwillDisclosureTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_b7b70981-f5fb-42d7-803b-6bf55ea7f2c2">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 6. Goodwill&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:11.0pt;font-family:Calibri;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The change in goodwill is as follows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.343%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.12%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.367%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.13%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,811&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Acquisition of Forensic Logic (see Note 4&#x2014;Business Acquisitions)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;20,355&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Change during the period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;23,171&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_6a7d1e8d-0b06-4e2f-851e-2369bf5ea80b">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The change in goodwill is as follows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.343%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.12%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.367%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.13%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Beginning balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,811&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Acquisition of Forensic Logic (see Note 4&#x2014;Business Acquisitions)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;20,355&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Change during the period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Ending balance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;23,171&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,816&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_b840886e-bb5d-435a-a361-c825d437f1ac"
      unitRef="U_USD">2816000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_3736fb25-2053-4120-9851-540beeb0c02f"
      decimals="-3"
      id="F_9531e659-d6f9-493a-86ef-360ff2f7682c"
      unitRef="U_USD">2811000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_85b35ec2-b231-4c1a-8c59-026122324f18"
      unitRef="U_USD">20355000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillPeriodIncreaseDecrease
      contextRef="C_9d41fdae-8ce0-4258-86ed-ba1d4b249c28"
      decimals="-3"
      id="F_f0e6f5af-26bf-40dc-a7a5-6e65d577f588"
      unitRef="U_USD">5000</us-gaap:GoodwillPeriodIncreaseDecrease>
    <us-gaap:Goodwill
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_b0e8ef75-5855-4cab-8952-b1ac30f36867"
      unitRef="U_USD">23171000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_17df54a8-d47d-467c-821c-98cfaf964d0c"
      unitRef="U_USD">2816000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_502c0caf-3bf2-46bb-be25-cd7638257e25">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 7. Intangible Assets, net&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:6.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:11.0pt;font-family:Calibri;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets consist of the following (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.183%;"/&gt;
        &lt;td style="width:1.336%;"/&gt;
        &lt;td style="width:14.718%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.761%;"/&gt;
        &lt;td style="width:1.336%;"/&gt;
        &lt;td style="width:14.604%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.761%;"/&gt;
        &lt;td style="width:1.336%;"/&gt;
        &lt;td style="width:14.718%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Gross&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accumulated Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;22,770&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,535&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;21,235&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,226&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,099&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;127&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Software technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;7,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;254&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;6,886&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;972&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;&#160;Total intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;32,136&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,916&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;29,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.671%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.673%;"/&gt;
        &lt;td style="width:0.683%;"/&gt;
        &lt;td style="width:1.584%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.508%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.584%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.673%;"/&gt;
        &lt;td style="width:0.683%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Gross&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accumulated Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;14,570&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,131&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13,439&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,214&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,089&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;125&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;&#160;Total intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;15,784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13,564&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible amortization expense was approximately $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;695,000&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;259,000&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; for the three months ended March 31, 2022 and 2021, respectively.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table presents future intangible asset amortization as of March 31, 2022 (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:70.639%;"/&gt;
        &lt;td style="width:10.631%;"/&gt;
        &lt;td style="width:1.338%;"/&gt;
        &lt;td style="width:16.713%;"/&gt;
        &lt;td style="width:0.679%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Remainder of 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,106&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,637&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,595&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;16,665&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;29,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_b47e0364-3bcb-4888-afdc-e496b57095f1">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Intangible assets consist of the following (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.183%;"/&gt;
        &lt;td style="width:1.336%;"/&gt;
        &lt;td style="width:14.718%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.761%;"/&gt;
        &lt;td style="width:1.336%;"/&gt;
        &lt;td style="width:14.604%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.761%;"/&gt;
        &lt;td style="width:1.336%;"/&gt;
        &lt;td style="width:14.718%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Gross&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accumulated Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;22,770&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,535&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;21,235&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,226&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,099&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;127&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Software technology&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;7,140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;254&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;6,886&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Tradename&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,000&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;972&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;&#160;Total intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;32,136&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,916&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;29,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.671%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.673%;"/&gt;
        &lt;td style="width:0.683%;"/&gt;
        &lt;td style="width:1.584%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.508%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.584%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.673%;"/&gt;
        &lt;td style="width:0.683%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="10" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Gross&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accumulated Amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;14,570&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,131&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13,439&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Patents&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,214&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,089&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;125&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;&#160;Total intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;15,784&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;13,564&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_bd33dd17-4c96-424f-8a0d-10610dc36e5c"
      decimals="-3"
      id="F_26eb4c2b-9d04-4195-a670-9ac17e32d6da"
      unitRef="U_USD">22770000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_bd33dd17-4c96-424f-8a0d-10610dc36e5c"
      decimals="-3"
      id="F_6a9c3a8f-0147-468b-9ee7-10dc2c135f8e"
      unitRef="U_USD">1535000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_bd33dd17-4c96-424f-8a0d-10610dc36e5c"
      decimals="-3"
      id="F_d86cae55-83db-4ba0-8f41-6b8a2fadac59"
      unitRef="U_USD">21235000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_0950aff4-a31a-4f4a-996a-484c2537d5e8"
      decimals="-3"
      id="F_ff7be03c-a06c-4361-822e-e268a2510c60"
      unitRef="U_USD">1226000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_0950aff4-a31a-4f4a-996a-484c2537d5e8"
      decimals="-3"
      id="F_ebce2ec5-204e-493c-b98a-2b0dc2cf6198"
      unitRef="U_USD">1099000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_0950aff4-a31a-4f4a-996a-484c2537d5e8"
      decimals="-3"
      id="F_f47275fd-35c3-4e67-aa71-0ed4dc8a1193"
      unitRef="U_USD">127000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_737be91a-9fa1-4ccc-87dc-a2a3441f61ab"
      decimals="-3"
      id="F_4d568994-fa9c-41c2-a165-fd9ee422e572"
      unitRef="U_USD">7140000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_737be91a-9fa1-4ccc-87dc-a2a3441f61ab"
      decimals="-3"
      id="F_d193dbe0-bf98-4eaf-86bc-97d693c076b0"
      unitRef="U_USD">254000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_737be91a-9fa1-4ccc-87dc-a2a3441f61ab"
      decimals="-3"
      id="F_da019b6a-4cbc-430b-829e-865682725c1b"
      unitRef="U_USD">6886000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_a7992727-8d0e-4bd3-9899-71602c3da89e"
      decimals="-3"
      id="F_b6d442e4-72ab-4754-aea9-e824435852dd"
      unitRef="U_USD">1000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_a7992727-8d0e-4bd3-9899-71602c3da89e"
      decimals="-3"
      id="F_d4c682a6-2072-4871-bd85-dd2f2d554e64"
      unitRef="U_USD">28000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_a7992727-8d0e-4bd3-9899-71602c3da89e"
      decimals="-3"
      id="F_a2028da4-8184-43cb-b3b1-55921049aaef"
      unitRef="U_USD">972000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_2bc384af-b9b4-4375-bba5-6d176605f834"
      unitRef="U_USD">32136000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_1723a207-3028-40be-91a3-5b003bd3cc51"
      unitRef="U_USD">2916000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_4060932b-5ad3-460b-a76f-ec9b58e1d507"
      unitRef="U_USD">29220000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_127f5b61-06fe-49da-8738-f92c47b244cb"
      decimals="-3"
      id="F_bebfdc54-5834-40b0-acd2-c5765557308d"
      unitRef="U_USD">14570000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_127f5b61-06fe-49da-8738-f92c47b244cb"
      decimals="-3"
      id="F_cb459537-6ef7-4649-ab81-97a9c04af8e1"
      unitRef="U_USD">1131000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_127f5b61-06fe-49da-8738-f92c47b244cb"
      decimals="-3"
      id="F_b51c2f08-7224-45e6-8f88-8e371d01aa92"
      unitRef="U_USD">13439000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_a81a5501-43da-4ec1-aaa5-0bceda87f0e6"
      decimals="-3"
      id="F_0925f07d-795f-4969-8bf9-ffe346505e28"
      unitRef="U_USD">1214000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_a81a5501-43da-4ec1-aaa5-0bceda87f0e6"
      decimals="-3"
      id="F_92f47be5-5050-4a91-a8ae-edaacaeb6b31"
      unitRef="U_USD">1089000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_a81a5501-43da-4ec1-aaa5-0bceda87f0e6"
      decimals="-3"
      id="F_542f4cfe-b2bb-46fe-818d-b417664a7f6c"
      unitRef="U_USD">125000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_4a2ce5b8-cbc8-4a95-a846-c7700c8e3b95"
      unitRef="U_USD">15784000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_40b5a938-ceb9-40c8-a21d-944ffe38d00e"
      unitRef="U_USD">2220000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_727d46be-e509-4824-a01e-100941838574"
      unitRef="U_USD">13564000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="0"
      id="F_59d52496-12c9-4896-ba4f-853efbde5c5e"
      unitRef="U_USD">695000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="0"
      id="F_1647239e-e182-48fa-b98a-4e072ca77f39"
      unitRef="U_USD">259000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_c1666137-c07f-4eca-8c19-4794d739d471">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table presents future intangible asset amortization as of March 31, 2022 (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:70.639%;"/&gt;
        &lt;td style="width:10.631%;"/&gt;
        &lt;td style="width:1.338%;"/&gt;
        &lt;td style="width:16.713%;"/&gt;
        &lt;td style="width:0.679%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Remainder of 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,106&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,637&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,595&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;16,665&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;29,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_cb22a864-7039-4f0f-971b-1ed9b02d571d"
      unitRef="U_USD">2106000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_466a1172-db85-4938-bee3-b6902c07ac85"
      unitRef="U_USD">2640000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_6157a714-506e-47f7-86c4-019b17123072"
      unitRef="U_USD">2637000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_8ecf9b6c-c076-46c4-8e90-60980453df1c"
      unitRef="U_USD">2595000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_ad9824bb-46b8-40ab-bd92-6b348c5fe509"
      unitRef="U_USD">2577000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <ssti:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_5281d0cb-5559-4c9e-b759-8d0525375300"
      unitRef="U_USD">16665000</ssti:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_07f01f1c-5c8c-4150-9814-8779c6575c74"
      unitRef="U_USD">29220000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_dc0fa5c0-860c-4cd3-8c8b-7739d8cad29b">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 8. Details of Certain Condensed Consolidated Balance Sheet Accounts&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:11.0pt;font-family:Calibri;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accounts receivable and contract assets (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:63.974%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.86%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.87%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;20,271&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;16,167&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contract asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Allowance for potential credit losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;21,256&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;16,134&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid expenses and other current assets (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&#160;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.085%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.027%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.048%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid software and licenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;742&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;756&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid insurance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;245&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;611&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other prepaid expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;472&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;198&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred commissions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;895&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;822&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;102&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;117&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,456&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,504&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other assets (long-term) (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.085%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.027%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.048%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred commissions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,011&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,723&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;570&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;195&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,581&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,918&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accrued expenses and other current liabilities (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.078%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.036%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.046%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Personnel-related accruals&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;4,017&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;4,864&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Royalties payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;47&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Professional fees&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;692&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;925&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Sales/ use tax payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;218&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;167&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;6,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2500;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;861&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;409&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;465&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;268&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&#160;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,952&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;6,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:11.0pt;font-family:Calibri;"&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other liabilities (long-term) (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.078%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.036%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.046%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;3,269&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,013&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contingent consideration liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;7,250&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&#160;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;10,519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;3,513&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_393e6697-09b7-4841-8b29-a6d918ab3b06">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accounts receivable and contract assets (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:63.974%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.86%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:14.87%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accounts receivable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;20,271&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;16,167&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contract asset&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Allowance for potential credit losses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;21,256&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;16,134&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_0713143d-97d2-445e-b610-cd5bd8805301"
      unitRef="U_USD">20271000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_55767c39-6a8d-4927-b691-0fa8fad06301"
      unitRef="U_USD">16167000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_a87cb37b-79c2-43d3-9047-0f2bee773043"
      unitRef="U_USD">1135000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_fc7a70cc-4c2b-48a5-a799-5fb43fc6c5fa"
      unitRef="U_USD">41000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <ssti:FinancingReceivableAllowanceForCreditLossesAdjustment
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_dd0a9247-9e79-44e5-9397-e15da4d3527a"
      unitRef="U_USD">150000</ssti:FinancingReceivableAllowanceForCreditLossesAdjustment>
    <ssti:FinancingReceivableAllowanceForCreditLossesAdjustment
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_32280234-0ef4-4622-8baa-43da2fed0bc3"
      unitRef="U_USD">74000</ssti:FinancingReceivableAllowanceForCreditLossesAdjustment>
    <ssti:AccountsReceivableAndContractAssetCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_82743f23-d7c6-4815-999c-9eedd6a8539e"
      unitRef="U_USD">21256000</ssti:AccountsReceivableAndContractAssetCurrent>
    <ssti:AccountsReceivableAndContractAssetCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_e334a1c3-2a92-48e9-a9c6-e48ebbec610c"
      unitRef="U_USD">16134000</ssti:AccountsReceivableAndContractAssetCurrent>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_05b91d80-07a6-4a82-8b4c-4a4d6f3ba4d0">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid expenses and other current assets (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&#160;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.085%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.027%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.048%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid software and licenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;742&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;756&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Prepaid insurance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;245&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;611&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other prepaid expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;472&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;198&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred commissions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;895&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;822&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;102&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;117&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,456&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,504&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <ssti:PrepaidSoftwareAndLicensesCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_4dc87b2b-1e9d-4081-b549-f8184f30f264"
      unitRef="U_USD">742000</ssti:PrepaidSoftwareAndLicensesCurrent>
    <ssti:PrepaidSoftwareAndLicensesCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_0fd2f300-c01b-424f-8e16-efe288f5dffd"
      unitRef="U_USD">756000</ssti:PrepaidSoftwareAndLicensesCurrent>
    <us-gaap:PrepaidInsurance
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_87a2c395-99ea-475f-957d-0de910a04676"
      unitRef="U_USD">245000</us-gaap:PrepaidInsurance>
    <us-gaap:PrepaidInsurance
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_2b7c3ae4-0113-4dcd-80bd-8f99abc2236e"
      unitRef="U_USD">611000</us-gaap:PrepaidInsurance>
    <us-gaap:OtherPrepaidExpenseCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_0348b54e-0056-4a4e-93ba-9444ef7aefaa"
      unitRef="U_USD">472000</us-gaap:OtherPrepaidExpenseCurrent>
    <us-gaap:OtherPrepaidExpenseCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_cb1bb5ba-0c51-4aef-9be3-e822992052da"
      unitRef="U_USD">198000</us-gaap:OtherPrepaidExpenseCurrent>
    <us-gaap:DeferredCostsCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_f9f2de6a-b643-415a-8cd7-02ed6ea65354"
      unitRef="U_USD">895000</us-gaap:DeferredCostsCurrent>
    <us-gaap:DeferredCostsCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_994b3fdb-0873-4bae-aa0c-0a59ea560dd0"
      unitRef="U_USD">822000</us-gaap:DeferredCostsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_8a5ba18e-eaa0-4c6d-9d35-82d7e2aed6a2"
      unitRef="U_USD">102000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_3f020e4c-da33-463a-90d1-277478e7458f"
      unitRef="U_USD">117000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_a2a72cee-fd16-49d4-9c89-d0393ef0d37a"
      unitRef="U_USD">2456000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_1598c8e1-dbf6-49fe-ac8c-aa1d6fbddfb7"
      unitRef="U_USD">2504000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_35e101b3-9601-4044-b98c-38527cef0651">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other assets (long-term) (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.085%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.027%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.048%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Deferred commissions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,011&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,723&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;570&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;195&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,581&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,918&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock>
    <us-gaap:DeferredCosts
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_215a5b97-7c10-449c-b2b9-601d8d14dc92"
      unitRef="U_USD">2011000</us-gaap:DeferredCosts>
    <us-gaap:DeferredCosts
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_01d3e073-31ca-420d-a68f-9d4451b4946d"
      unitRef="U_USD">1723000</us-gaap:DeferredCosts>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_f7931802-8e6d-458f-9cc1-0f424c77f80f"
      unitRef="U_USD">570000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_a0ffc566-b4ea-4c41-9919-bfe6d4ce6d99"
      unitRef="U_USD">195000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_d38f8320-25e1-49d1-9810-4128802648b0"
      unitRef="U_USD">2581000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_b997f3c6-3641-418e-acb1-ee8135a3903b"
      unitRef="U_USD">1918000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_0b228de2-daad-4c65-919e-fa8ce95f9065">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Accrued expenses and other current liabilities (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.078%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.036%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.046%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Personnel-related accruals&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;4,017&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;4,864&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Royalties payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;47&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Professional fees&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;692&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;925&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Sales/ use tax payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;218&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;167&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contingent consideration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;6,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#x2500;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;861&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;409&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;465&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;268&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&#160;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,952&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;6,680&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_2df8b311-1920-4d89-874d-2d65e0b442de"
      unitRef="U_USD">4017000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_db3932a6-a8b2-4903-b234-4c238d041f7e"
      unitRef="U_USD">4864000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedRoyaltiesCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_526898e1-cbe7-47b2-b885-498082f91170"
      unitRef="U_USD">49000</us-gaap:AccruedRoyaltiesCurrent>
    <us-gaap:AccruedRoyaltiesCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_2833ceec-4d15-437f-ac3d-bf8e2f6ecab1"
      unitRef="U_USD">47000</us-gaap:AccruedRoyaltiesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_4112b008-bfd9-477b-aaad-12e6c91868a6"
      unitRef="U_USD">692000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_cbcbe521-10e1-47d3-93ea-ebfe91ddb27e"
      unitRef="U_USD">925000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:SalesAndExciseTaxPayableCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_d5fd8980-d627-45b7-a060-fdfdb57e41c8"
      unitRef="U_USD">218000</us-gaap:SalesAndExciseTaxPayableCurrent>
    <us-gaap:SalesAndExciseTaxPayableCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_df7804eb-1ea3-4bad-ba45-faafde706403"
      unitRef="U_USD">167000</us-gaap:SalesAndExciseTaxPayableCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_2b3a8a8e-0f76-4757-a7e3-da440c145fbb"
      unitRef="U_USD">6650000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_b1840fac-7604-4900-bc69-6695d004a18d"
      unitRef="U_USD">861000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_6272fcd3-1af5-47a9-96cb-0e1b7fbb29b4"
      unitRef="U_USD">409000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_90583f1a-bbc3-4752-8785-5e37cfa848c6"
      unitRef="U_USD">465000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_06ba8368-70b8-44c1-89b1-3c243213da64"
      unitRef="U_USD">268000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_45d6bace-1b5a-4b4c-ad4f-71216357b8f7"
      unitRef="U_USD">12952000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_83ecaee8-6e3a-45f5-a401-bc40bb84300a"
      unitRef="U_USD">6680000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:OtherNoncurrentLiabilitiesTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_82f0ff31-c65b-42a6-9a94-7b7cf524964c">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Other liabilities (long-term) (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.078%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.036%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.802%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:15.046%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;December 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Operating lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;3,269&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2,013&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Contingent consideration liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;7,250&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,500&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&#160;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;10,519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;3,513&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:OtherNoncurrentLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_dd482170-6a65-456f-831a-5b93800880f8"
      unitRef="U_USD">3269000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_6f559580-4145-404d-abec-2aeadb802e3e"
      unitRef="U_USD">2013000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_c80c9cc0-986e-4211-8d6f-f77c6646a6a0"
      unitRef="U_USD">7250000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_cb655d6f-ab5a-43a0-82e7-81681a7b774d"
      unitRef="U_USD">1500000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-3"
      id="F_39247eb3-ea0b-4658-a38f-7dcb124f0e77"
      unitRef="U_USD">10519000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="-3"
      id="F_a67d734c-a76f-46f0-bc03-0ed36827d685"
      unitRef="U_USD">3513000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_82845fca-b792-43ff-b56a-1b814f399ef9">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 9. Related Party Transactions&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the three months ended March 31, 2022 and 2021, the Company recognized approximately $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;16,000&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,255,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;36,000&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;, respectively, in revenues from ShotSpotter Labs projects with charitable organizations that have received donations from one of the Company&#x2019;s directors and from one of the Company&#x2019;s significant stockholders.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RevenueFromRelatedParties
      contextRef="C_55a2ca40-271c-469b-92d0-fdfd856d242a"
      decimals="0"
      id="F_8c76329e-ecf6-480c-8a6c-30943e1fcd4c"
      unitRef="U_USD">16000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="C_79dbbab6-1725-48d2-a742-544b47083246"
      decimals="0"
      id="F_4e76b191-5d82-411d-9f3d-dd2f556aa343"
      unitRef="U_USD">36000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_8a34edcc-0dd0-4f8a-a08a-ffc73bdbbe49">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 10. Stock Repurchase Program&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;During the three months ended March 31, 2022, the Company repurchased &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;57,623&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares of its common stock at an average price of $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;28.34&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; per share for $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million. The repurchases were made in open market transactions using cash on hand, and all of the shares repurchased were retired. At March 31, 2022, $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1.4&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million remained available for repurchase under the Company's stock repurchase program.&lt;/span&gt;&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_32e6dfaf-2c9b-498f-bf4a-2449a831c613"
      unitRef="U_shares">57623000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="2"
      id="F_805f8388-91ae-402a-b276-cbff60e5e487"
      unitRef="U_USDollarShare">28.34</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-5"
      id="F_ce24168b-3761-4151-a957-1553a6854fba"
      unitRef="U_USD">1600000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="-5"
      id="F_fa038081-6e06-4510-9109-4e5c20468de4"
      unitRef="U_USD">1400000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_233a1bc3-61c4-4513-9c44-4252fd174756">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:18.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 11. Net Income per Share&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The computation of basic net income per share is based on the weighted-average number of shares of common stock outstanding during each period. The computation of diluted net income per share is based on the weighted-average number of shares outstanding during the period plus, when their effect is dilutive, incremental shares consisting of shares subject to stock options, restricted stock units, employee stock purchase plan purchase rights and warrants.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the computation of basic and diluted net income per share (in thousands, except share and per share data):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.814%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:18.486%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:2.175%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:18.486%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;79&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Weighted-average shares outstanding, basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,156,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;11,584,605&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Weighted-average shares outstanding, diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,315,806&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;11,898,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net income per share, basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.01&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net income per share, diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.01&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Anti-dilutive employee share-based awards, excluded&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;952,776&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;544,815&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_12c75e6e-8a2a-47f8-a4aa-80c9300154a6">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The following table summarizes the computation of basic and diluted net income per share (in thousands, except share and per share data):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:56.814%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:18.486%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:2.175%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:18.486%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:middle;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;79&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Weighted-average shares outstanding, basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,156,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;11,584,605&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Weighted-average shares outstanding, diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;12,315,806&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;11,898,362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net income per share, basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.01&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:5.0pt;word-break:break-word;vertical-align:middle;"&gt;&lt;p style="margin-left:5.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Net income per share, diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;0.01&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&#160;&#160;Anti-dilutive employee share-based awards, excluded&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;952,776&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;544,815&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:middle;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_f25c0e66-7cc6-445c-bc9e-b6c6208b8c8e"
      unitRef="U_USD">387000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_3bc2978f-cac3-4d6f-9ed4-a57354202bef"
      unitRef="U_USD">79000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="0"
      id="F_ba854ac7-19ce-4778-9e28-0e867e5b84a3"
      unitRef="U_shares">12156968</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="0"
      id="F_c2538ba3-9337-472b-ad84-1b64e4cf5300"
      unitRef="U_shares">11584605</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="0"
      id="F_2d822bcd-8327-4b42-9532-30e27fc66f2a"
      unitRef="U_shares">12315806</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="0"
      id="F_773f1782-b67c-496d-b7ea-7f0e809299d8"
      unitRef="U_shares">11898362</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="2"
      id="F_7e75867e-d5e3-44e3-a8eb-cae78bd513f9"
      unitRef="U_USDollarShare">0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="2"
      id="F_29d0675d-8632-4ba1-8a03-19b4d1913b84"
      unitRef="U_USDollarShare">0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="2"
      id="F_e4363343-18c3-4c0d-b356-2b23ac77e891"
      unitRef="U_USDollarShare">0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="2"
      id="F_8d41dfc3-6bb1-4740-b4f8-b1a129b167bd"
      unitRef="U_USDollarShare">0.01</us-gaap:EarningsPerShareDiluted>
    <ssti:AntidilutiveEmployeeShareBasedAwardsExcluded
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="INF"
      id="F_6b71c0f5-ea4d-4723-99e1-2ee8927e3101"
      unitRef="U_shares">952776</ssti:AntidilutiveEmployeeShareBasedAwardsExcluded>
    <ssti:AntidilutiveEmployeeShareBasedAwardsExcluded
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="INF"
      id="F_6784a745-dc33-4ca9-afb2-1e4885919aa9"
      unitRef="U_shares">544815</ssti:AntidilutiveEmployeeShareBasedAwardsExcluded>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_c37dd695-d021-4f64-818c-46fd642f91d2">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 12. Equity Incentive Plans&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Stock options:&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the &#x201c;2017 Plan") during the three months ended March 31, &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022 is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.363%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:0.684%;"/&gt;
        &lt;td style="width:13.598%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:13.225%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Number&lt;br/&gt;of Options&lt;br/&gt;Outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Outstanding as of December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;783,928&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;28.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;454,678&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;26.50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Exercised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;8,528&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1.43&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Canceled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;11,699&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;38.20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Outstanding as of March 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,218,379&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;27.51&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Under an &#x201c;evergreen&#x201d; provision, the number of shares of common stock reserved for issuance under the 2017 Plan will automatically increase on &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;January 1&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; of each year, beginning on &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;January 1, 2018&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; and ending on and including &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;January 1, 2027&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;, by &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the total number of shares of the Company's capital stock outstanding on December 31 of the preceding calendar year or a lesser number of shares determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under the 2017 Plan was increased on January 1, 2022 by &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;585,172&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares, which was equal to &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the total number of shares of capital stock outstanding on December 31, 2021.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Restricted stock units:&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:11.0pt;font-family:Calibri;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2022 is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.366%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:0.683%;"/&gt;
        &lt;td style="width:13.586%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:13.234%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Number of Restricted Stock Units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date Fair Value per RSU&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Unvested awards outstanding as of December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;128,810&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;35.09&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;154,379&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;26.50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Vested&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;22,755&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;25.35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Unvested awards outstanding as of March 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;260,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;30.85&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;2017 Employee Stock Purchase Plan&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;There were &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares issued under the 2017 Employee Stock Purchase Plan ("2017 ESPP') during the three months ended March 31, 2022.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The 2017 ESPP contains an &#x201c;evergreen&#x201d; provision that provides for an automatic annual share increase on &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;January 1&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; of each year, in an amount equal to the lesser of (1) &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;% of the total number of shares of common stock outstanding on December 31&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;vertical-align:top;font-size:6.7pt;font-family:Times New Roman;min-width:fit-content;"&gt;st&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; of the preceding calendar year, (2) &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;150,000&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares or (3) such number of shares as determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under our 2017 ESPP was increased on January 1, 2022 by &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;150,000&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; shares. &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The number of shares available for grant under the 2017 ESPP was &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;549,328&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; as of March 31, 2022.&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.166%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:13.163%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:13.422%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Cost of revenues&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;456&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;392&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Sales and marketing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;371&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;234&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;General and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;702&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;431&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,375&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_7e1a2fdf-ee11-4dea-9f0b-ea6ec5e302e0">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the &#x201c;2017 Plan") during the three months ended March 31, &lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022 is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.363%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:0.684%;"/&gt;
        &lt;td style="width:13.598%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:13.225%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Number&lt;br/&gt;of Options&lt;br/&gt;Outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Outstanding as of December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;783,928&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;28.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;454,678&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;26.50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Exercised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;8,528&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1.43&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Canceled&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;11,699&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;38.20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Outstanding as of March 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,218,379&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;27.51&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="INF"
      id="F_c68232c2-f331-48f7-9d31-8c9c21dc67cf"
      unitRef="U_shares">783928</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_8c9ce3dd-166f-466a-8205-731d2946109e"
      decimals="2"
      id="F_1b15690e-6373-4cc0-8064-68263beef0cc"
      unitRef="U_USDollarShare">28.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="INF"
      id="F_4f43dc90-0bc4-43e1-b8f8-3aacefe24942"
      unitRef="U_shares">454678</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="2"
      id="F_1a0137ca-9455-42eb-a2cc-73f59b997384"
      unitRef="U_USDollarShare">26.50</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="INF"
      id="F_d073f4e0-798e-49d0-a1d0-8e979d6241cf"
      unitRef="U_shares">8528</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="2"
      id="F_1f9cea3c-cf83-48f8-b62f-9f8ba98b0ee9"
      unitRef="U_USDollarShare">1.43</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="INF"
      id="F_a6b0f5d4-366f-40c0-b779-d5ec5d5bcf65"
      unitRef="U_shares">11699</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="2"
      id="F_b32999f5-c1fe-4187-a1fb-fd4033aebd21"
      unitRef="U_USDollarShare">38.20</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="INF"
      id="F_909ff52e-1f4a-4bfa-931d-6a01ed76a4ff"
      unitRef="U_shares">1218379</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_7b1cf6dc-3302-4ebb-b095-7a4899536775"
      decimals="2"
      id="F_4878e4d8-1de2-438f-be62-a914a81a815d"
      unitRef="U_USDollarShare">27.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod
      contextRef="C_27e05528-22e5-42b8-b647-0c754d88a5b0"
      id="F_dcda6bd3-a5cd-48cb-926e-cd5767c9bd10">--01-01</ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod>
    <ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate
      contextRef="C_27e05528-22e5-42b8-b647-0c754d88a5b0"
      id="F_75181740-3f17-42dc-93f3-32d9db0df97c">2018-01-01</ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate>
    <ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate
      contextRef="C_27e05528-22e5-42b8-b647-0c754d88a5b0"
      id="F_03201351-83a0-4e24-b34a-af6111d5c08d">2027-01-01</ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum
      contextRef="C_0998d3a1-39bb-4560-827a-40117a738e3f"
      decimals="2"
      id="F_6bd09aec-d29e-43e7-8d5c-df689674d412"
      unitRef="U_pure">0.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum>
    <ssti:IncreaseInCommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_8b48ae13-5693-4d58-9a46-07973323f56c"
      decimals="INF"
      id="F_b737f20b-8419-4c5a-9659-cfce4868c18e"
      unitRef="U_shares">585172</ssti:IncreaseInCommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum
      contextRef="C_abc3306c-4c02-4279-9da3-cd8f4fa555da"
      decimals="2"
      id="F_dd01324b-0721-40f2-8e1d-8f6364530915"
      unitRef="U_pure">0.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_a2adb427-9ba3-48b7-bfad-202de8210fab">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2022 is as follows:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.366%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:0.683%;"/&gt;
        &lt;td style="width:13.586%;"/&gt;
        &lt;td style="width:0.901%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:13.234%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Number of Restricted Stock Units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:11.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11.0pt;font-family:Calibri;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date Fair Value per RSU&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Unvested awards outstanding as of December 31, 2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;128,810&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;35.09&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;154,379&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;26.50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Vested&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;22,755&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;25.35&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Unvested awards outstanding as of March 31, 2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;260,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;30.85&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_3a9c8359-2d87-4c19-bc5f-4a30be738182"
      decimals="INF"
      id="F_f3586d39-c3dc-4c9c-b6dd-8a3133448fd7"
      unitRef="U_shares">128810</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_3a9c8359-2d87-4c19-bc5f-4a30be738182"
      decimals="2"
      id="F_44b20f87-9f64-4fd7-bcbb-55621900ce06"
      unitRef="U_USDollarShare">35.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080"
      decimals="INF"
      id="F_e3f4bac0-cc87-419a-a930-02b274d1fe68"
      unitRef="U_shares">154379</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080"
      decimals="2"
      id="F_8a496e1b-0979-4b17-911e-cbae3e406053"
      unitRef="U_USDollarShare">26.50</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080"
      decimals="INF"
      id="F_e49ef7f9-1b2c-4f16-a52e-8e9df473df37"
      unitRef="U_shares">22755</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_e9ee0348-7b45-4b5e-973a-7a4530b1a080"
      decimals="2"
      id="F_03c447f0-29c7-4978-84e6-3c8e25ba73ca"
      unitRef="U_USDollarShare">25.35</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_0ac19f7d-fc71-4065-80b0-042c5353bda5"
      decimals="INF"
      id="F_a8490fcb-5cf9-4684-99d0-f1307800fbf8"
      unitRef="U_shares">260434</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_0ac19f7d-fc71-4065-80b0-042c5353bda5"
      decimals="2"
      id="F_7f23acae-5a0d-4e18-aa9d-440f221dd7ff"
      unitRef="U_USDollarShare">30.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="C_056707bd-9caa-4250-bb92-381e9b51b4cd"
      decimals="INF"
      id="F_d6f12cb6-b108-46c9-9be8-3efc90857bff"
      unitRef="U_shares">0</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod
      contextRef="C_47e412c9-2400-45c5-a2a7-1443da1681a7"
      id="F_9deedd8a-24a0-4c9b-b4e4-de8d94e3aec6">--01-01</ssti:SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum
      contextRef="C_056707bd-9caa-4250-bb92-381e9b51b4cd"
      decimals="2"
      id="F_2d0c8e38-1004-459d-baa4-fc2d6ef96d6c"
      unitRef="U_pure">0.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum>
    <ssti:PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_056707bd-9caa-4250-bb92-381e9b51b4cd"
      decimals="INF"
      id="F_e42cdfec-5795-4e40-8c3d-ca7474d05054"
      unitRef="U_shares">150000</ssti:PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance>
    <ssti:IncreaseInCommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_9ae3dad9-456d-487b-a3dd-cb418d8bf44a"
      decimals="INF"
      id="F_28333926-eceb-4a1e-b5f9-b00abba30732"
      unitRef="U_shares">150000</ssti:IncreaseInCommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="C_f1ceb39d-4362-4fcc-8360-7eff35fe0c32"
      decimals="INF"
      id="F_d071963e-c243-4717-8de0-f29ca370b284"
      unitRef="U_shares">549328</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_42a47ef9-d680-410e-a994-0f07f980e099">&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:0.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.166%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:13.163%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
        &lt;td style="width:1.605%;"/&gt;
        &lt;td style="width:1.346%;"/&gt;
        &lt;td style="width:13.422%;"/&gt;
        &lt;td style="width:0.673%;"/&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:8.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2022&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;2021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(255,255,255,1);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);text-align:left;"&gt;&lt;p style="text-indent:0.0pt;font-size:8.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-size:8.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Cost of revenues&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;456&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;392&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Sales and marketing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;463&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;371&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;234&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:top;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;General and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;702&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;431&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(0,0,0,0);word-break:break-word;vertical-align:bottom;border-bottom:0.500pt solid rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10.0pt;"&gt;
        &lt;td style="background-color:rgba(207,240,252,1);text-indent:10.0pt;word-break:break-word;vertical-align:top;"&gt;&lt;p style="margin-left:10.0pt;text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,855&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(0,0,0,1);text-align:center;"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:right;"&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;1,375&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="background-color:rgba(207,240,252,1);word-break:break-word;vertical-align:bottom;border-bottom:2.250pt double rgba(255,255,255,0.01);"&gt;&lt;p style="text-indent:0.0pt;font-size:10.0pt;margin-top:0.0pt;line-height:1.05;font-family:Times New Roman;margin-bottom:0.0pt;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_250661f3-60d8-4be3-9f7d-82fdc61c7ad3"
      decimals="-3"
      id="F_179d2a31-b44b-42df-8c42-cc1b3dab0162"
      unitRef="U_USD">456000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_562ab650-a001-4c1e-b53b-f08dea5824ec"
      decimals="-3"
      id="F_2c2ae261-5a39-4415-ad01-165b8b464c02"
      unitRef="U_USD">392000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_a106a82b-37a3-4530-91d7-92cfd6be3d58"
      decimals="-3"
      id="F_38a9f832-b1d4-495c-bace-f84c99e923bf"
      unitRef="U_USD">463000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_0e1c4593-f41e-431c-8699-b1a0fcdb1363"
      decimals="-3"
      id="F_feb55786-34c2-431d-92ff-65eb2b456050"
      unitRef="U_USD">371000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_ff0ea7a7-6ccb-4259-b8cd-a08b0ba95da5"
      decimals="-3"
      id="F_c8e6fa15-44af-4aad-ac6e-61285a06dee1"
      unitRef="U_USD">234000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_f8abfc70-5adf-42f8-9db9-631524deb0cb"
      decimals="-3"
      id="F_e6cb7f38-2fdf-46cd-b64e-c84f8a6af2a3"
      unitRef="U_USD">181000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_a97ddda1-b2e6-4f0e-a4dd-fead0e4b9525"
      decimals="-3"
      id="F_d679d76e-a974-468c-95cc-b1f6c532da00"
      unitRef="U_USD">702000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_e6c20a39-5d92-47f0-a395-4259c2c0f361"
      decimals="-3"
      id="F_62f4a25c-7c3b-4e77-b238-755a667978b9"
      unitRef="U_USD">431000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      decimals="-3"
      id="F_36f301b5-f6c3-4289-9e78-5456fde6ea7e"
      unitRef="U_USD">1855000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a"
      decimals="-3"
      id="F_08a1c4dc-cdb9-4815-b0f1-19e1aecb0cda"
      unitRef="U_USD">1375000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="C_9310b966-ab7f-4d60-a85d-51cd66f030b8"
      id="F_33d0de2a-5c74-4771-8aa8-db03ff65a7ee">&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:8.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;Note 13. Commitments and Contingencies&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:rgba(255,0,0,1);white-space:pre-wrap;font-weight:bold;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt;Contingencies&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:6.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;On August 28, 2018, Silvon S. Simmons (the &#x201c;Plaintiff&#x201d;) amended a complaint against the City of Rochester, New York and various city employees, filed in the United States District Court, Western District of New York, to add the Company and employees as a defendant. The amended complaint alleges conspiracy to violate plaintiff&#x2019;s civil rights, denial of the right to a fair trial, and malicious prosecution. The Plaintiff claims that ShotSpotter colluded with the City of Rochester to fabricate and create gunshot alert evidence to secure Plaintiff&#x2019;s conviction. On the basis of the allegations, the Plaintiff has petitioned for compensatory and punitive damages and other costs and expenses, including attorney&#x2019;s fees. The Company believes that the Plaintiff&#x2019;s claims are without merit and is disputing them vigorously.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;On October 12, 2021, the Company filed a defamation lawsuit against VICE Media, LLC ("VICE"), in Delaware Superior Court. The complaint alleges that VICE intentionally misrepresented court records and targeted ShotSpotter with false accusations in order to cultivate a subversive brand that enables VICE to sell sponsored content to corporate advertisers. ShotSpotter seeks more than $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;200&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in compensatory damages and $&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:Times New Roman;background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; million in punitive damages.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company may become subject to legal proceedings, as well as demands and claims that arise in the normal course of business. Such claims, even if not meritorious, could result in the expenditure of significant financial and management resources. The Company makes a provision for a liability relating to legal matters when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. These provisions are reviewed&lt;/span&gt;&lt;span style="color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:0.0%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;and adjusted to include the impacts of negotiations, estimated settlements, legal rulings, advice of legal counsel, and other information and events pertaining to a particular matter.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.2410416666666666;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;An unfavorable outcome on any litigation matters could require payment of substantial damages, or, in connection with any intellectual property infringement claims, could require the Company to pay ongoing royalty payments or could prevent the Company from selling certain of our products. As a result, a settlement of, or an unfavorable outcome on, any of the matters referenced above or other litigation matters could have a material adverse effect on the Company&#x2019;s business, operating results, financial condition and cash flows.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:4.533%;font-size:10.0pt;margin-top:12.0pt;line-height:1.15;font-family:Times New Roman;margin-bottom:0.0pt;text-align:justify;"&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The COVID-19 pandemic has resulted in a substantial curtailment of business activities worldwide and is causing weakened economic conditions, both in the United States and many countries abroad. As part of intensifying efforts to contain the spread of COVID-19, many companies and state, local and foreign governments have imposed restrictions, including shelter-in-place orders and travel bans. While some of these companies and jurisdictions have relaxed such restrictions, in some cases, the restrictions were put back in place after having been lifted. The Company understands that the ongoing COVID-19 pandemic, associated travel restrictions and social distancing requirements may continue to have an adverse impact on its results of operations. While the ultimate economic impact of the COVID-19 pandemic is highly uncertain, the Company expects that its business and results of operations, including its revenues, earnings and cash flows from operations, may continue to be adversely impacted for the balance of 2022.&lt;/span&gt;&lt;/p&gt;&lt;span style="background-color:rgba(0,0,0,0);color:rgba(0,0,0,1);white-space:pre-wrap;font-weight:normal;font-size:10.0pt;font-family:Times New Roman;min-width:fit-content;"&gt;The Company may be adversely affected by increasing social unrest, protests against racial inequality, protests against police brutality and associated ongoing movements such as &#x201c;Defund the Police.&#x201d; These events may directly or indirectly affect police agency budgets and funding available to current and potential customers. Participants in these events may also attempt to create the perception that the Company&#x2019;s solutions are contributing to the &#x201c;problem,&#x201d; which may adversely affect the Company, its business and results of operations, including its revenues, earnings and cash flows from operations.&lt;/span&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LossContingencyDamagesSoughtValue
      contextRef="C_5559d3d7-e4a9-4130-85e2-89188cfbe620"
      decimals="-6"
      id="F_726470af-3a1f-40e2-ba2d-3c17d556d859"
      unitRef="U_USD">200000000</us-gaap:LossContingencyDamagesSoughtValue>
    <us-gaap:LossContingencyDamagesSoughtValue
      contextRef="C_1005a965-0b11-4e3b-949f-dd368b08737a"
      decimals="-6"
      id="F_d2a08378-1211-4f40-b041-1330635805e6"
      unitRef="U_USD">100000000</us-gaap:LossContingencyDamagesSoughtValue>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>67
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( $:+L%0'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " !&B[!43CR<*.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M:L,P#(9?9?B>*'%)!R;U96.G%@8K;.QF;+4UBV-C:R1]^R5>FS*V!]C1TN]/
MGT"M#D+[B,_1!XQD,=V-KNN3T&'#3D1! "1]0J=2.27ZJ7GPT2F:GO$(0>D/
M=43@5;4&AZ2,(@4SL @+D<G6:*$C*O+Q@C=ZP8?/V&68T8 =.NPI05W6P.0\
M,9S'KH4;8(811I>^"V@68J[^B<T=8)?DF.R2&H:A'%8Y-^U0P]MN^Y+7+6R?
M2/4:IU_)"CH'W+#KY-?5P^/^B4E><5Y435&O][P6O!'-_?OL^L/O)NR\L0?[
MCXVO@K*%7W<AOP!02P,$%     @ 1HNP5)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
M:EZ)*CTEPIP'[NPKTSMH^B],J/"T[/S\T)I8F@;!43R+^]75)HFC)(S]D3]
MI.LQQ#U6_&]NNM9Q.')@$H #?O]?GDT2)[,DB/NUVCL9]@LFMN8,1 )N5:IZ
M0&Z?MN<L-^9TH?=\B:]6]6E)9Z8^O('Q=YO!L)^S#9CT+Z> )>KSD/I&\;TY
M4GCB2O'"7.X839G0 O#[AG/U>J-?T)Y*+?X#4$L#!!0    ( $:+L%1E$?*]
MK (  / &   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&ULC55-<YLP$/TK
M&J:'9*8)&&R39C SL=-.<TB;B9OVT.E!AK51(R17$G;R[[L2F#HV9GI!7_O>
MOMU%JV0KU;,N  QY*;G0$Z\P9GWM^SHKH*3Z4JY!X,E2JI(:7*J5K]<*:.Y
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
M']_('T\$VS5OD+\Q(5C9'.8$9Z16 OG[EC'Q?*)>2G?_%UG]"U!+ P04
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
MN!7]*QAUVMF=D25;=G;3Q/:,XDW:G<ZV'KMI'SI]@$A01 P"# !*=G]]S[T
M*<J6G8].7V*1!.[GN>=>(.=;Y^]"K504]XVQX6)2Q]B^F<]#4:M&AIEKE<67
MROE&1CSZ]3RT7LF2-S5FOC@^_FG>2&TGE^?\[MI?GKLN&FW5M1>A:QKI']XI
MX[87DY-)_^)&K^M(+^:7YZU<JUL5/[;7'D_S04JI&V6#=E9X55U,EB=OWIW1
M>E[P#ZVV8?1;D"<KY^[HX=?R8G),!BFCBD@2)/YLU)4RA@3!C,]9YF1021O'
MOWOI']AW^+*205TY\T]=QOIB\GHB2E7)SL0;M_VSROZ\(GF%,X'_%=NT]NQT
M(HHN1-?DS;"@T3;]E?<Y#J,-KX^?V;#(&Q9L=U+$5OXBH[P\]VXK/*V&-/K!
MKO)N&*<M)>4V>GS5V!<O;U,RA*O$K5Y;7>E"VBB61>$Z&[5=BVMG=*%5.)]'
MZ*-=\R++?I=D+YZ1?2I^<S;60;RWI2KW]\]AYV#LHC?VW>)%@;])/Q.G)U.Q
M.%XL7I!W.CA_RO).GY%WP$OQK^4J1 ^P_/L%!6>#@C-6</9_B>Z+LJE:WX16
M%NIB@G(,RF_4Y/*O+BJQF(FO5RS>R: #+;PF*39*KI:_UPH54[BFE?:!UA<.
M2;1!E?0K8',I(QXJ;:4MM#0B8*="N<8@:KE18J64%;"LE1[KM&5QOL1J!8S'
M6JR555X:\T!?5$O2Y,Z^UFO(;0TLQ-X(<SY:36MN20\;O&R4AU_BAS_\[O5B
M<?SVX^QV)OZT7%[S\\G;'X6TD-FV\%2NC!*^(W'TTJMU9]A3ED3B;U71>1UU
M7O'^OJBE72MQY9I&!R:A7M'M^ZM!!21)7Y+%VD;8TXQ" N>=)V]FXDKY"(K$
MHD2DS$A08REAI0Z%<:%# O "GRDH<-]T90H=V??EL+\4["$VH^3L4NJ\<(V.
M)+GM?.@(*]&!J8OZ<-!F#)!OP41VAUV!GR#-(?)7"66L0^/UMG8(P)';6@@+
MW2KH4DN/Q,S$TD#H"- <\XQ2@;*U018IJSLWE=$@3K:L:YT=V8J%L_\-Z2DL
MYM&"<9)#[3I3PA)!/9-2 ZF?.IN:$N?FZ[);:8-/PX8<-,+AR<]O@UA:VV'#
M#4-.0#0U+7%R?/07 6-XRX.27BCB8O&+*E2S4KYGTY,!VWMR!I0_4HX"(!7@
M8P!D\<=$R#/Q:T*J:[4EYY#>1EJT=G)@RI^^.]#HU=3(!4HCEPA>H6 ]"9+E
M)W3*M-#"LQ"(^P#@-E&:J*3V*"FR8">]=4%3$J9C/&+:\0GB4T&F>E73! (L
M <"N4>('%&KX<0K;7'$'H);*AYP$H3YW.B8<%S+4HL+($X;P]_P #=J5D+_J
MX(]7Q &#V9HKOP2Z:5KI*^2@@52U(S5P%R!#48#6VQ3(K+CJ$#1./J6)ME&U
M5%T$X61K4AGTA5C+(-1&FH[%4 7",XJCVG",73%$OH)/K(1RUYO[+8DE([-8
M3_%CL4BM2Z2*KSMV'%'AU\J?B8^![7H?HFZX<Y"GB2I3A>+CMQ$9+:("IUP_
M(M?D I3L@$^):>2=$FJP@-M2P!S<ID3&6@()544 3^FFXJ-^V% [Y+QCO<J$
M8[1<:;-K58>6>XIIEQ>H^Y:\"Z+L.+P['=QI,P+^1AT)9;UV]'9%8\%T[$>/
MB, D/6;AP;-IIOE>2=J1@YR;.^6Y4'I#'3F1@@'2>T^DT?\9=D0T8$V-FSN#
MW3UR+*A >58@XRAONLRE,8Y0KM0C&MU++FF$(JW*89GF.1M -KK"XV@*(73F
M4#(HX7.BC)'J<3KZ7H"<&PP&!O%#5_6P(KG %!+EO0JC2.$0H3SU[?2!T8$J
M[&7M@@CR<UOJZ3-0[Y 7\BSE9(<P+*XUG*+YR+"CZ)\T#)!P?-R :5R'=8B_
MAY'^3L6CT*J"4MIW-20<XL= U="&=JHH7XEOD+'@+$]7'6HH<4&A?=$UJ!EH
MI*9=Q([Y.I%8P0VQU,"[%Y5W#?:X\+@^>/9(B\CP?AM4TAI/10D+#G7"IPR?
M'3K H?N\EVB'>DC<2TI??%FANH]<UZ.=NZC4Z#C]^JT&\3;.$\3O%#<@5!C1
M?8H<L*Y*;IL@"$(".RVA&Q[RS,)8&ROJ<1ZX$\J-U(:#GUS=I 1;0(\?U 9K
M$;UQ76;>)U3[( T'1-T#+%RT\I[%@>Q #]1%1RF8@C;=)Y 446.2TJ]/R)[2
M\U%KI+7L#0:RJ-9<A(\R0!2 $(X3D8<'[@5[+O?14)DH <)MCX5DK.N#R54P
M9"YG(3>-;+&FNJ=>FYN5]ISNE/J!0_>#3O1-J!P-&CT6GL+D4+U.,=-JI#;9
MC>5=D29A!'2C^6Q!3#/F!QP9G*4@^=TQY4:'.W&%[0@!_V;,G[P5'T:C)Z+>
MI4[%T6H=@57SD0*=_%/?8WK?X$<Q5L3M,*GPI((!%_AD@.$E#2BTA :/8="A
MK@>WAY'X -7G2O<29X">;Q^5']TAT2$ID1D++A4#&U)A]=:)$MN U$11E>M\
MFJI2I<#]:B\0.G8'JARG71"B"XFFQ[[J,03A9+[=$2O,=(=%/Z$$V/E": [@
M+P..A':$HU4:4S\H:F8&@SH' -6!SWR<NW*>2G/@M43AQA'1<]11M&N'XK:,
M4W0)6_#9:1R#W=D;U5JH4<0/&LY33JW7]5$.UV<0.HT_S\;;\4"X7T8T5A+Y
M[=I1:G0T4:>>]:(5CRJ";P!ZG-WL<$9;L9#O<,22*[(ODV7,1Y;^#FG*H!K@
MV.,VS\ZGK\7O6=S)*_S8/ZP.W2:Z".\/SC;@NU;QK:-YF)'R)Z>N*9S>E<,C
M]3]]C]8#0;KI1\&!+?*Y(-9>H9VF.[IT+OR^\!Q_R=!^&GT<DZ^UY.0+EISU
MEIQ^KR5/HG;;T;T1Z>K#MC\I&)T@*P5=+Y EMN/<8F\8]C*.>S!BENXJ_$"=
M^]3P< 8!F75&>G1(C-1V#0#WNXFHZ)P%L_+9%2<3M2?E.5_15L#6*E(#QP$X
M.-)WZ#YS/KHY1F#7?#\>$H^D2^3A[7 %OTPWS[OEZ?X>"5L3=QM58>OQ[.=7
M$[ JWXFGA^A:OH=>N8@L\L]:H1UX6H#OE4.KR@^D8/B/B<O_ E!+ P04
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
M'4HN2]9.&DV69_N]P_'+HVF0CP*?)"_=M36%2%)C/H?-:;[?&P6'6''F X+
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
MZT#GC:2Q<%S8"Z8'?OT/4$L#!!0    ( $:+L%1<94TZV ,  %()   9
M>&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;+U636_C-A"]^U<,W$6Q ;212'U8
M3FT#<=*B/6PW2-#V4/1 2V.;6$I427J=_/L.*5E)BB1 =X%>)%+DO'EO9LC1
MXJC-9[M'='#?J-8NIWOGNHLXMM4>&V'/=8<MK6RU:82CJ=G%MC,HZF#4J)@G
M21$W0K;3U2)\NS&KA3XX)5N\,6 /32/,PQJ5/BZG;'KZ<"MW>^<_Q*M%)W9X
MA^ZW[L;0+!Y1:ME@:Z5NP>!V.;UD%^O,[P\;?I=XM$_&X)5LM/[L)[_4RVGB
M":'"RGD$0:\O>(5*>2"B\?> .1U=>L.GXQ/Z3T$[:=D(BU=:_2%KMU].RRG4
MN!4'Y6[U\6<<].0>K]+*AB<<^[U%/H7J8)UN!F-BT,BV?XO[(0Y/#,KD%0,^
M&/# NW<46%X+)U8+HX]@_&Y"\X,@-5@3.=GZI-PY0ZN2[-SJ&IV0RH+>PA4:
M&K=PI=N:HHZU'UFM9"T<3=9"B;9"N NU<EE5^M ZNX@=L?!8<35X7/<>^2L>
M4_BH6[>W\".YJ9_;Q\1^E,!/$M;\3<"/PIQ#RB+@">=OX*5C2-* E[Z"]USH
M+:H@_UK:2FE[,&CAS\N-=88*ZJ\WW&6CNRRXR_['#+SM\5?M$,IS^%;/CP.#
M%<HO8J,01%M#10GVX0%A+=+R>T)V>WVPM&C/+B:4L6H?4G9-ALT&C9],?/Y\
M$MGD)>!WM!3Q&:,!*R)6S"97S]P BUB:0T;6BJZ:P)<N+>A(;>ND4% 9K*4#
MRJ*E)+X'EB=P1N]9!F<3@F<1SXL!/LW@QF G9 UXW_F0V"!-NSVQK0[&$.A7
MZSM!6[UU1V'ZJ"E9]7[>$2/NGWDQ[I0ME5[0Q+,<"L8FGP*3[M\DLQD'-B\G
MU[A%(NF3T332^DO40CG/H>1\L&4);64S+SW*@G(>Y4D&_>I)F]+M[H-#TYS]
M=YTODN!1PD(6HQE/!RKY+"'6>:"2E_WJG)6^PLP!W\R!DF(CE702OR81:*QN
M6U0?S'#.A?<HZ%1D1'-&1+*H+++)K7X0*OCHQ$.HQVQ.L:;\Z"T&851@6Z3U
M8LYASO/)G5!H8SA8!"?N1S-.JD[%*]N=5T#'Q<H:C0A]JH@*JLOOOYM3)G^8
M?.K"]W8'"JGYC&H?H"P89,E\"&!6Y,"+D@+(>#3/??D04)D,R7P6I&_)Z&M\
M/' :\6(>JBAAZ>L"'R7,Z,!1WJGH$D\\B7+F[5-ZIR_=K/&3/M>@V85N;B'<
M%7W+&[^./PR7?9]\W-[_;9#0'9TI4K$ET^1\1OW9]!V\GSC=A:ZYT8YZ<!CN
MZ:<'C=] ZUM-]\HP\0[&WZC5/U!+ P04    " !&B[!4FG$)L*<"  #B!0
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
M^A*?7%0MVOAIC+YE0(H= =94K?'9H00')S2#HL !0'8<#QP!/K'0@)/%\FI
MS13.&6,)[6C*M+N_2=FJP?N&G$(#>&NUR,BM[J:5PN(YU$VEO@#TITVKLQ+=
M0UI<'G>:?#0,G6 'KC67.%==Y I5X91T+O%=!?VH%/\B%WLNT81R,<2_"(J%
M:@U*$L7G#!K;WY'R43+'"?+K:O*QU.C!:4<S[$=,,C;DA!J2NC*:W+4UIL@J
MO9K<'>V^8LER@;^+Z\D;D I'5B?RZ?^)_3:=?N]1%/M1.O>OYTNL>S]=SOQY
MF'X?P! (A$BBU%^&<X)87B_]9!Z?TAR='HR^8N$T3+I/=$9R0/]:]D9:<344
MUTD%D,Y55]P<T]S'OFHIGM=I["\6<Y;.9OXR2ME+(R@XF>H8Z;U[NZA26VF[
M 3^>CL_C3?<J',6[MQ73MQ?2L H*5 VGB]3KBG#86-6X-V*G++XX;EGB$P^:
M!/"^4#B%^@T9&/\T;/\#4$L#!!0    ( $:+L%0![F'!X@4  $ /   9
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
MQH*$3 ;MUGLBC?[OL"-B"M T/3 ]V=TMQX)0@@<6,H[RILO<G^,(9;@XH2-
MR;B"4*15.2S3/*^CFXRN<#L:A:A%<BBY,^!SPJV1ZG$Z>D)"S@VF$X/X@=H]
MK$@N,(Y%^:#"*%(XC"A/PT-ZP=4!*.AE[8((!'9;&BQFP/\A+^19RLFNPK"X
MUG"*AC3#CH+$:2(AX7BY =RY#NL0?P\C_;V*)Z%5!:6TIU8D'.+'A:JA#9RN
M*%\)])"QX"R/>!UZ* %2H7W1->@9:*3)H8@=DT9"TH)9N=2H=R\J[QKL<>%Q
M?_  E!:1X?TVJ*0UGIH2%ARBXZ]I)CMT ,CWP3=A'Q%9W$M*WWQ9H7J(W->C
MG;NHU*"]?OU6 _T;YZG$[Q6S(#J,."=%#K6N2N9N  15 CLMH1L>\N#$M396
MU-=Y8#J6&ZD-!S^YNDD)MB@]OE$;K$7TQGV9R8>JV@=I."#J <7"32L?6!S
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
M/#T.XV4_@WZY]Y.<6W8GN:D4EAR:7%Y/HOY&#AMGFC"1ML9QC<.RX@\*6N_
M]M(8=]CX!,=/U.(G4$L#!!0    ( $:+L%3!9E07X0(  '(&   9    >&PO
M=V]R:W-H965T<R]S:&5E=#(T+GAM;(U5WV_:,!!^YZ\X9=-4)-:$!$;'  GH
MJDUJ)]1VW<.T!Y,<Q*IC4]LI[7^_LP.!3H7U)?;9=]]]]\.7P5KI>Y,C6G@J
MA#3#(+=VU0]#D^98,'.J5BCI9J%TP2R)>AF:E4:6>:-"A'$4?0H+QF4P&OBS
MF1X-5&D%ESC38,JB8/IY@D*MAT$[V!Y<\V5NW4$X&JS8$F_0_ES--$EAC9+Q
M J7A2H+&Q3 8M_N3CM/W"G<<UV9O#RZ2N5+W3OB>#8/($4*!J74(C)9'G*(0
M#HAH/&PP@]JE,]S?;]$O?.P4RYP9G"KQBV<V'P9G 62X8*6PUVK]#3?Q=!U>
MJH3Q7UA7NCWRF);&JF)C3'+!9;6RITT>]@S.H@,&\<8@]KPK1Y[E.;-L--!J
M#=II$YK;^%"]-9'CTA7EQFJZY61G1Q>,:[ACHD2X0F9*C91Q:^#DELT%FN8@
MM.3%Z8;I!G%2(<8'$!.X4M+F!K[*#+.7]B&QJRG&6XJ3^"C@%=.GD+1;$$=Q
M? 0OJ4-./%[R_Y#/N4F%<E$;^#V>&ZNI2_X<\=&I?72\C\X!'S=5CX-:P#1G
M<DGX7,*>9W=!:>)T):W;&IZA9KY3+SF;<\'M\VO)/^K7/>&^6;$4AP&]48/Z
M$8/1;8Z0[EA8$A>.R>.62;ICDKY@(K9,@)Z_-[2Y1H2BJC"Z"@/5)\WK @&3
MF=NT@6D$9LA2T,NGCO*N56E(P33[C5N/M-\K.Z2&1W(HC0DNN93$CAZ?8#)%
M> _M5C>*:.WVDL:,/;N.?6,8']Z=Q>WX"YQ )TJ@V:B*X[+RQHQL 39K8WI(
M\2/0U'##*X5+M:3O"?Q0%J%#-Y/24-V,@7'Z4'+#G8%I0CMN=2BN+33EY)^P
MD]9G'W>[%\%K31KNS8$"]=)/.T/$2FFKD5"?U@-U7,V1G7HUC:D4E'<# A=D
M&IWVN@'H:L)5@E4K/U7FRM*,\MN<?@JHG0+=+Q1%NQ&<@_HW,_H+4$L#!!0
M   ( $:+L%1.+,$SE0(  '4%   9    >&PO=V]R:W-H965T<R]S:&5E=#(U
M+GAM;(54RV[;,!"\^RL6:E$D@!%9DIT8J6W 3OH(T!1!DK:'H@=:6DM$*-+A
M4G7Z]UWJ5;=(W(OXVIV=67$XVQG[0 6B@Z=2:9H'A7/;\S"DM,!2T(G9HN:3
MC;&E<+RT>4A;BR*KDTH5QJ/1:5@*J8/%K-Z[L8N9J9R2&F\L4%66POY:H3*[
M>1 %W<:MS OG-\+%;"MRO$/W97MC>17V*)DL49,T&BQNYL$R.E^-?7P=\%7B
MCO;FX)6LC7GPBZML'HP\(528.H\@>/B)%ZB4!V(:CRUFT)?TB?OS#OU]K9VU
MK 7AA5'?9.:*>3 -(,.-J)2[-;N/V.J9>+S4**J_L&MB)TD :47.E&TR,RBE
M;D;QU/9A+V$Z>B$A;A/BFG=3J&9Y*9Q8S*S9@?71C.8GM=0ZF\E)[7_*G;-\
M*CG/+3X8D^VD4G!T+]8*Z7@6.H;UAV':0JP:B/@%B 2NC78%P3N=8?9W?LAT
M>DYQQVD5'P2\%O8$DF@(\2B.#^ EO<:DQDO^IU'H#*ZT$SJ7K!661.@(+B6E
MRE!E$;XOU^0LWY0?!\J.^[+CNNSXA;)W;*"LXCIF Q<%%T4"J:%C\URC#P/>
M%PAI#>1Q\DZ5)! $&Z/88 1'?.0*4Q&+I>/S 3<S+?INPB6F6*[1=CO18(6Y
MU%KJG&^W$CI%> WQ<!J=MF,T6*:/E219NXBUL!N\*5/X9'+^'A$B?#8.8?SF
MU32.XK>KBI@Y$>PETC%7&R:3";1!@Z8ED%76UW:L;8M6FJP+@,F +]0_O))A
M=!9U!)_[1^&>%4JT>6UX@M14VC6NZ'?[-V796.E/>/,@<>>X,P0*-YPZ.CF;
M!& ;DS<+9[:UL=;&L4WK:<'O(EH?P.<;PUUI%[Y _](N?@-02P,$%     @
M1HNP5.N95W=W P  #P@  !D   !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL
MI59-;^,V$+WK5Q#"'A) B"3JRPYL T[2W>YABR!)VT/1 RV-+&(ITB6I]>[^
M^@XI6W6RB5N@%VM(SKQY\S@DO=@K_=ET )9\[84TR["S=G<=QZ;NH&?F2NU
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
MER'WN,7;)RAK@/MK*<W+BPW0WF>G_P)02P,$%     @ 1HNP5'\BMMYP @
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
MA;YE@3 &>GW&N=H.S ;EO:WW#U!+ P04    " !&B[!4"WY3;I,#   7"P
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
M.]6[&$UJ1A,OHZ7"[5"9)T?#"K+%#:J?P:3-(.QA<%8S./,R^ /SH],5&R+
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
MD6LI3*'))Y%!-H!?C^.#<(3 QUQT"0E?$K(*1QFOJ3HE4?"!A),P'!(T#M]
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
M._Y8TW8#XQ3H?:4U[@5GH-^7Q6]02P,$%     @ 1HNP5%J$0NV5 @  -0<
M !D   !X;"]W;W)K<VAE971S+W-H965T-#,N>&ULC95M3]LP$,>_BA7Q B0@
MSVF+TDC0"@V)316%[<6T%VYS:2R2N+,=RO;I=W9"UM&D[$WBA_O?[^[L7.(=
M%\\R!U#DM2PJ.;5RI;97MBW7.9147O(M5+B3<5%2A5.QL>56 $V-J"QLSW$B
MNZ2LLI+8K"U$$O-:%:R"A2"R+DLJ?MU P7=3R[7>%A[8)E=ZP4[B+=W $M33
M=B%P9G=>4E9")1FOB(!L:EV[5[.)MC<&7QGLY-Z8Z$Q6G#_KR5TZM1P=$!2P
M5MH#Q=<+S* HM",,XV?KT^J06K@_?O-^:W+'7%94PHP7WUBJ\JDUMD@*&:T+
M]<!WGZ#-)]3^UKR0YDEVK:UCD74M%2];,490LJIYT]>V#GL"-Q@0>*W ^U^!
MWPI\DV@3F4EK3A5-8L%W1&AK]*8'IC9&C=FP2I_B4@G<9:A3R5VE:+5AJP+(
MM92@Y#GY@G?G@BSQOJ0U+O.,W-:J%D#>VY+KD@O%?E-S(*=S4)05\@S%3\LY
M.3TY(R>$5>0QY[6D52IC6V'$FFNOV^ANFNB\@>@^4W%)?/><>([G]<AGQ^5S
M6'=R]U^YC77JBN5UQ?*,/W_ WRVKF(*+>[QXZ4$U)/E^C_;D3D$I?QRA^1W-
M-[1@@/8 ^BM,0>@C&"C 3>,B,B[T%_N2>*X3Q?9+#SCHP,%1,++\/E:C"O=9
M4>#TL\*.%7[$"OI880_+'_6SHHX5?<0*^UC1(2N<A/VL4<<:?<2*^EBC'M9H
M(*]QQQH?93WF@ T\4R#ZB.,#HAM%T4!ZDPXY.8K$'M''FAS>QHGG_;TBS4=[
M:.7Z812\B\C>:VKZAX*]8,,J20K(4.=<CC ET33I9J+XUO2Y%5?8-<TPQ_\:
M"&V ^QGGZFVB6V?WITS^ %!+ P04    " !&B[!4PO.MJZ$"  #5!@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6R55<MNVS 0_!5"R"$!FLB2++D(
M; &.C:(]% CLICT4/=#2VB)"D2I)V>G?9TDIA.-7VXM-4CN[,[/4:KR3ZEE7
M (:\U%SH25 9T]R'H2XJJ*F^DPT(?+*6JJ8&MVH3ZD8!+1VHYF$\&&1A39D(
M\K$[>U3Y6+:&,P&/BNBVKJGZ\P!<[B9!%+P=+-BF,O8@S,<-W< 2S%/SJ' 7
M^BPEJT%H)@51L)X$T^A^EMEX%_"=P4[OK8E5LI+RV6Z^E)-@8 D!A\+8#!3_
MMC #SFTBI/&[SQGXDA:XOW[+_LEI1RTKJF$F^0]6FFH2? Q("6O:<K.0N\_0
MZTEMOD)R[7[)KH\=!*1HM9%U#T8&-1/=/WWI?=@#1,,S@+@'Q/\*2'I XH1V
MS)RL.34T'RNY(\I&8S:[<-XX-*IAPG9Q:10^98@S^1P,95P3N28S4+@69"9%
MB6V"TJZTY*RD!C</E%-1 %FZRS4M"MD*H\DM6>+-*EL.-H<_7D !;$M7>$R%
MRV04MHQ,M4;T=5_V!N%/RSFYOKHA5P1K?ZMDJQ&@QZ%!=99C6/1*'CHE\1DE
M7ZFZ(TGT@<2#.#X!GUV&SZ'P\.@]/$1/O;&Q-S9V^9(S^=[;M0#N3)PS77"I
M6P6:_)RNM#/EUX5RB2^7N'+#,^6\\<H;?\K"+DGFDM@7?)NCW!'JW>X[=1P5
M95$V\E'O& X]P^%%AOX*4'L%3I'K\.E^V2A)#[@=!PVCT\123RR];!W'4>9Z
MA4.1--* ,(QR4B@HF2'8+@TG[V-Z1.4V2@<'?$\$C8:G"6>></:_O78O6?%7
MA[/C]D=QFAU0/H["]B>'I,.]H6,'/KY_&R8TX;!&W.!NA)I5-T2[C9&-FT,K
M:7"JN66%WQU0-@"?KR5:WV_L:/-?LOP54$L#!!0    ( $:+L%3V0Y.BT (
M .4'   9    >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;(U574_;,!3]*U;$
M TB,?#1)"VHK0;MI>YA64=@>ICVXR0VQ<.+,=BC[][MV0E1:4WAI_''/N><>
MW]K3K9"/J@30Y+GBM9IYI=;-E>^KK(2*J@O10(T[A9 5U3B5#[YJ)-#<@BKN
M1T&0^A5EM3>?VK65G$]%JSFK826):JN*RG\WP,5VYH7>R\(M>RBU6?#GTX8^
MP!KT?;.2./,'EIQ54"LF:B*AF'G7X=5B8N)MP$\&6[4S)J:2C1"/9O(MGWF!
M$00<,FT8*'Z>8 &<&R*4\;?G](:4!K@[?F'_8FO'6C94P4+P7RS7Y<R;>"2'
M@K9<WXKM5^CK20Q?)KBROV3;QP8>R5JE1=6#44'%ZNY+GWL?=@!A_ 8@Z@'1
M1P&C'C"RA7;*;%E+JNE\*L662!.-;&9@O;%HK(;5YA376N(N0YR>+T%3QA41
M!5F Q'%-%J+.\9@@-R,E.,NIQLD-Y;3.@*QM<UUGF6AKK<@GLL;.REL.AF,E
MH:$L)Y^?&T.A"*US\D.7(,FBE1)J1"H%B#OM,Y\AP_UZ24Y/SL@)P?1WI6@5
MPM34UUB@D>EG?3$W73'1&\5\I_*"C,)S$@51Y( OCL.7D WP\#7<1UL';Z/!
MV\CRC=[@VS-CQXO.@_/!D]_7&Z4EMO2?(VE'0]J131N_DU:)0F^I[/)REMD#
M<9G:T:66SOSKG^;C&.U[VG7.$9.D0\PKG?&@,_Z03E:K5IK6<FGK*)*=O%&<
M[&D[C$G#T*TM&;0E1[5UQ]3T"J'O9I? Y"!Y/-XW[S FO)RX!::#P/2HP"44
M@+V3DTQ4%5/F4G7*2P]23R[W_7/$1)%;WGB0-W[?/Y>>\:$5P;Y=CIAP[-8S
M&?1,CNJY$YIREY[)05]C?Z5[@AQ!21#O*?)W+F'S .)E]("M33@4" LNQEB0
M[!Z5;J)%8^_EC=!XR]MAB>\P2!. ^X40^F5BKOKA99__!U!+ P04    " !&
MB[!4/+V3?WH"  #U!0  &0   'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6R-
M5-MNVS ,_17!Z$,+K/4E<6](#*0)A@W8I6C:[6'8@V+3L5!9S"0YZ?Y^E.P:
M:7/!7FQ2XCD\I$2--JB?305@V4LME1D'E;6KVS T>04U-Q>X D4[)>J:6W+U
M,C0K#;SPH%J&211=AC47*LA&?NU>9R-LK!0*[C4S35US_?<.)&[&01R\+CR(
M967=0IB-5GP)<[!/JWM-7MBS%*(&900JIJ$<!Y/X=IJZ>!_P0\#&;-G,5;)
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
M,J4?%2KK0.=K*<UA8Q/4O[[);U!+ P04    " !&B[!4?T!CC2$#   K"0
M&0   'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6RE5FUOVC 0_BM6M ^MU#9O
M)(0*D ILVCYLJL:Z?G:3@UA+[,QVH/OW.SLAHS1DU?8%_'+WY'G.YSM/]T+^
M4#F )L]EP=7,R;6N;EU7I3F45-V("CCN;(0LJ<:IW+JJDD SZU06;N!YL5M2
MQIWYU*[=R_E4U+I@'.XE47594OEK 878SQS?.2Q\9=M<FP5W/JWH%M:@'ZI[
MB3.W0\E8"5PQP8F$S<RY\V^7OF<<K,5W!GMU-"9&RI,0/\SD4S9S/,,("DBU
M@:#XMX,E%(5!0AX_6U"G^Z9Q/!X?T#]8\2CFB2I8BN*193J?.8E#,MC0NM!?
MQ?XCM((B@Y>*0ME?LF]M/8>DM=*B;)V10<EX\T^?VT <.2!.OT/0.@2G#J,S
M#F'K$%JA#3,K:T4UG4^EV!-IK!'-#&QLK#>J8=P<XUI+W&7HI^=?,%,^\524
M0"J09)U3">2:K)M3)6)#EJ*L:DUMT'&ZH(JEA/*,K%A1:\A(+\3%"C1EA;I$
ML(?UBER\NR3OB$N4V56$<?+ F597N(CC;[FH%6*JJ:M1E*'FIJV 12,@.",@
M))\%U[DB[WD&V4M_%X/1120X1&01# )^IO*&A/X5";P@Z.&S?+N[/T G[ XH
MM'CAN0.J2Y!4"WD[ #;JP$86;#1PVLP>55^@&]_8^IKKOYN'R7CJ[H[%O[89
M3SJ3%YRBCE,T*' %7&!B_TUBW,'%@Q(?[<6%[)KN,&Y;.&0<EC"E,<48WUZ9
MB\_2OA TV-&1/#_PHW@2)R=QZ#'THV04>U%_-,8=_?'_T\^:F]<G8-PC($1F
M7GPBH,?03R9)& ?] I).0/+&%+/5P-(?"'@#EAS1\&Z\\(1KKY'?SW/2\9S\
M \^!R$[>PK37Z Q3W_M3H[U!KG=<LVM+#5L>@;(JQ"]H4^/:-+&,T#V5&993
M>$Z+^E4A; NI]^K,)U$P'I^F1H]=-!HE_FEJNT=M!XO4UG9C15)1<]W4VVZU
MZ_AWML^=K"_,2\"VLS\PS3,"J^F6<44*V""D=S-&4K+IS,U$B\HVMR>AL57:
M88ZO&9#& /<W0NC#Q'R@>Q_-?P-02P,$%     @ 1HNP5*/@+.91 P  5 L
M !D   !X;"]W;W)K<VAE971S+W-H965T-3(N>&ULQ99?;]HP$,"_RBG:PR:U
MA"0$0@5(T'9;'[JAHJT/U1Y,<D!4QZ:V4UII'WZVDX:L$)C$PU[ =N[/[\X^
M^P8;+A[E"E'!2T:9'#HKI=87KBOC%69$MO@:F?ZRX"(C2D_%TI5K@22Q2AEU
M_7:[ZV8D9<YH8->F8C3@N:(IPZD F6<9$:\3I'PS=#SG;>$N7:Z467!'@S59
MX@S5C_54Z)E;64G2#)E,.0.!BZ$S]BXF7L<H6(F?*6YD;0PFE#GGCV9RDPR=
MMB%"BK$R)HC^>\9+I-18TAQ/I5&G\FD4Z^,WZY]M\#J8.9%XR>E]FJC5T(D<
M2'!!<JKN^.8KE@&%QE[,J;2_L"EEVP[$N50\*Y4U09:RXI^\E(FH*01-"GZI
MX%ONPI&EO"**C :";T 8:6W-#&RH5EO#I<SLRDP)_375>FIT_92GZA5N6(S,
MY >FE# )YS#3^Y_D%($O8*9X_ C?US:/8Y-'H_/Q"A5)J?PT<)4F,?;<N/0Z
M*;SZ#5X#N.5,K21<LP23O_5='4$5AO\6QL0_:/"6B!8$WAGX;=__ "[(%1$H
MB]\#]H,J38&U'S38GQE#YV;[$[CDF:X)28IL"$'8$O4Y53!_A;K<E+S:Y?&&
MB.2L3)_4@UQ)15B2LB4\W'%*09\O(_/K &BG NU8T$X#Z+<\FZ,PFU;ZJ[L[
M@PDN4\:,YPG1&QTC_(9]22IR7K@*K2M3WL^C7A3T_6C@/N]!#"O$\!3$+SJA
M2J?O$%BX ]8).]U> UBW NN> G;]@B).Y1&T[@[:>10VI:Q7D?5.(;LT.TF/
M@/5VP3ROV^_O)XLJLNBDG!7'_%\.6[3#Y_E>%/0: /L58/]_5.X9W-L+7TN/
MGU'H!ZPZ'S 5J8[U83R72NA7YU!9>^WM/=T^F.@C[O:7]O8FW'M'%QZ[M90W
M'52O]IYXIW%NZ_L(7?EP>76\;BML /2W@/YI@/4Z/X+H[R)ZK4[0@+A];+S@
M-,1:P1\A#'8)@ZCE-Q!N7QGO\#-S/(GO"_\(9^$NJN]UKQ5Z[SC=6J.3H5C:
M=DY"S'.FBIZG6JU:QG'1*&W%BWY3=PRZ7B107&C5=JNG;QY1M'#%1/&U;9OF
M7.DFS Y7NNU%803T]P7GZFUB'%2-].@/4$L#!!0    ( $:+L%3C75/DR ,
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
MD<K;P/@1-M=-V*.;=A&%G]]()9P;+/2O/4#M&JCM@-H[@+Z7Q2TJF]/F/![
M&.=<")OI,:-22!'^0%,\JO!6UA)GS1X ]\,PZO7"H._?-U F-67R1LHO%#X[
MN8\MV69+VG'WJ)FM4[-UWLAV3?.OH'6VT ZCJ)LDS6C=&JW[1K2S:@__3V:[
M6XA1)VC'[6;$7HW8VXMXXTY)PAK=HZ)3OTHDT-&%\)EQ!=<L+Q&6Y,;E]*JY
M&I_W:1-W9;^WP1TGK6!'TH]J[*-WQ7XNS_VPE=4P?!'EUHXR"(/G,SUX5]RZ
M8O?3KJV^Q$U:\2[>C3LH?%?>K3)^A3O<KHF@U?L7V]^X10M4<_=6T)#*4ICJ
M0JUGZ_?(J+J%GY=7CQFZ5ZAN->0X(]&@U:5]I*KW034P<NGNY%MIZ(9WW06]
MJ5#9!?1_)J5Y&E@#]2MM^!=02P,$%     @ 1HNP5-63P5%N P  7PP  !D
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
MYD6[NK!MJNH2RK[9/YTL^X^,^@^D/OP+4$L#!!0    ( $:+L%0,/Y#\Y0$
M '\A   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VCM.PT 4A>&M
M1%X D_N8\%!"14.+V( 5)@^1Q)9G$,GNB4(1CD5!@^94UMCR]=_XDV5[_I)V
M;=EVA[S9]GERW.\.>=%L2ND?0LC+3=JW^:;KT^%\9-4-^[:<E\,Z].WRO5VG
MH-/I+ P_9S2/\Y\S)Z^G/OUE8K=:;9?IJ5M^[-.A_#(X?';#>]ZD5)K):SNL
M4UDTX;B[[L[ALI&;\^1F\ORV:(;G-VE"[2"%(*T?9!!D]8,<@KQ^4(2@6#]H
M!D&S^D&W$'1;/^@.@N[J!]U#T'W]()FBC%."I!'6!%H+<BT$7@N"+01B"Y(M
M!&8+HBT$:@NR+01N"\(M!'(+TBT$=@OB+01Z*^JM!'HKZJT$>NOH89M ;T6]
ME4!O1;V50&]%O95 ;T6]E4!O1;V50&]%O95 ;T6]E4!O0[V-0&]#O8U ;T.]
MC4!O&[TL(=#;4&\CT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#;46\GT-M1
M;R?0VU%O)]#;46\GT-M'+[L)]';4VPGT=M3;"?1VU-L)]';4VPGT=M3;"?2.
MJ'<DT#NBWI% [XAZ1P*](^H="?2.J'<DT#N./E82Z!U1[_B?>N=RVJ5\[?E>
MX_7_D^IR/C==+W]9?N\<W>,7G /\;_'X!5!+ P04    " !&B[!4C^&W:=,!
M   V(0  $P   %M#;VYT96YT7U1Y<&5S72YX;6S-VLENPC 4!=!?0=E6Q'@(
M'01LVFY;%OT!-WE 1!);MJ'P]W7"(+6BJ(A*O1LB8OO=%ULZFV3TMK7D>YNZ
M:OPX681@'QCS^8)J[5-CJ8DC,^-J'>)?-V=6YTL])R8&@R'+31.H"?W0UD@F
MHR>:Z545>L^;>-N7IADGCBJ?]!YW$]NL<:*MK<I<ASC.UDWQ+:6_3TCCRFZ.
M7Y36W\0)"3N9T([\'+!?][HFY\J">E/MPHNNXRRVJ9@/VXI\>K[$B1[-;%;F
M5)A\5<<EJ;>.=.$71*&NTEW1F_/)(>XP[7[YU?E=F7.!<>;4&>OCB3FZ/.YP
M).WJOHV%R(7R_",>$V/IJY^/VM,NJ/AE=MS>#^.6W7EXUEVNW^.O9WRL?V$?
M J0/"=*' NDC ^EC"-+'+4@?=R!]W(/TP0<HC:"(RE%(Y2BF<A14.8JJ'(55
MCN(J1X&5H\@J4&05*+(*%%D%BJP"15:!(JM D56@R"I09!4HLDH4626*K!)%
M5HDBJT215:+(*E%DE2BR2A19)8JL"D56A2*K0I%5H<BJ4&15*+(J%%D5BJP*
M15:%(FN&(FN&(FN&(FN&(FN&(FN&(FOVG[*^&[/\ZS?Y[36M==D<\EGWN<3D
M$U!+ 0(4 Q0    ( $:+L%0'04UB@0   +$    0              "  0
M  !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ 1HNP5$X\G"CO    *P(
M !$              ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%
M  @ 1HNP5)E<G",0!@  G"<  !,              ( !S0$  'AL+W1H96UE
M+W1H96UE,2YX;6Q02P$"% ,4    " !&B[!4B[$Q!6,%  "L%@  &
M        @($."   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%
M  @ 1HNP5.N,)2?&!0  RQ8  !@              ("!IPT  'AL+W=O<FMS
M:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( $:+L%1?VDH(R (  %$)   8
M              " @:,3  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"
M% ,4    " !&B[!4IZ^I -T$  "A$@  &               @(&A%@  >&PO
M=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ 1HNP5&41\KVL @
M\ 8  !@              ("!M!L  'AL+W=O<FMS:&5E=',O<VAE970U+GAM
M;%!+ 0(4 Q0    ( $:+L%1DD$VJCP4  ",9   8              " @98>
M  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " !&B[!4E[-(
MFWP&  "G&@  &               @(%;)   >&PO=V]R:W-H965T<R]S:&5E
M=#<N>&UL4$L! A0#%     @ 1HNP5/U=3<]2!   =@D  !@
M ("!#2L  'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( $:+
ML%3SE@Q^(0D  *08   8              " @94O  !X;"]W;W)K<VAE971S
M+W-H965T.2YX;6Q02P$"% ,4    " !&B[!4/8(;J8($  "T"P  &0
M        @('L.   >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0
M   ( $:+L%2ZK>=9M0D  #88   9              " @:4]  !X;"]W;W)K
M<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @ 1HNP5$)RCQ ^!0  : T
M !D              ("!D4<  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q0
M2P$"% ,4    " !&B[!4&2='=X8"  !F!0  &0              @($&30
M>&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( $:+L%3H74%3
ME ,  .P'   9              " @<-/  !X;"]W;W)K<VAE971S+W-H965T
M,30N>&UL4$L! A0#%     @ 1HNP5%QE33K8 P  4@D  !D
M ("!CE,  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " !&
MB[!4FG$)L*<"  #B!0  &0              @(&=5P  >&PO=V]R:W-H965T
M<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( $:+L%1_&P++K0(  /(%   9
M          " @7M:  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#
M%     @ 1HNP5 S6PX>! P  0 @  !D              ("!7UT  'AL+W=O
M<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    " !&B[!4 >YAP>(%  !
M#P  &0              @($780  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM
M;%!+ 0(4 Q0    ( $:+L%1'\,U,XP@  .P4   9              " @3!G
M  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ 1HNP5(.V
M6;M'"0  BQD  !D              ("!2G   'AL+W=O<FMS:&5E=',O<VAE
M970R,2YX;6Q02P$"% ,4    " !&B[!4X@AS09P#   4"   &0
M    @('(>0  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    (
M $:+L%1D*MJD0 ,  *X&   9              " @9M]  !X;"]W;W)K<VAE
M971S+W-H965T,C,N>&UL4$L! A0#%     @ 1HNP5,%F5!?A @  <@8  !D
M             ("!$H$  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"
M% ,4    " !&B[!43BS!,Y4"  !U!0  &0              @($JA   >&PO
M=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( $:+L%3KF5=W=P,
M  \(   9              " @?:&  !X;"]W;W)K<VAE971S+W-H965T,C8N
M>&UL4$L! A0#%     @ 1HNP5'IT'LY8!   Y L  !D              ("!
MI(H  'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " !&B[!4
M,/#4#?\"  "-!@  &0              @($SCP  >&PO=V]R:W-H965T<R]S
M:&5E=#(X+GAM;%!+ 0(4 Q0    ( $:+L%3F5L2L=@0  -L*   9
M      " @6F2  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%
M  @ 1HNP5'\BMMYP @  ZP4  !D              ("!%I<  'AL+W=O<FMS
M:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    " !&B[!4QRN !D4#  ###0
M&0              @(&]F0  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+
M 0(4 Q0    ( $:+L%0+?E-NDP,  !<+   9              " @3F=  !X
M;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ 1HNP5#/-U5%-
M P  '!   !D              ("! Z$  'AL+W=O<FMS:&5E=',O<VAE970S
M,RYX;6Q02P$"% ,4    " !&B[!4"N>(ZD,"  "C!   &0
M@(&'I   >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( $:+
ML%31D:NV.0,   <+   9              " @0&G  !X;"]W;W)K<VAE971S
M+W-H965T,S4N>&UL4$L! A0#%     @ 1HNP5";P;9CA!   0!0  !D
M         ("!<:H  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4
M    " !&B[!4:158P2\$  "R#P  &0              @(&)KP  >&PO=V]R
M:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( $:+L%3%H?"U-@0  %43
M   9              " @>^S  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL
M4$L! A0#%     @ 1HNP5*-^O%0R P  TP@  !D              ("!7+@
M 'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " !&B[!4B!F^
M_JD"  #_!@  &0              @('%NP  >&PO=V]R:W-H965T<R]S:&5E
M=#0P+GAM;%!+ 0(4 Q0    ( $:+L%0XY[D2F ,  #,/   9
M  " @:6^  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @
M1HNP5"^W<-]) @  .P4  !D              ("!=,(  'AL+W=O<FMS:&5E
M=',O<VAE970T,BYX;6Q02P$"% ,4    " !&B[!46H1"[94"   U!P  &0
M            @('TQ   >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4
M Q0    ( $:+L%3"\ZVKH0(  -4&   9              " @<#'  !X;"]W
M;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ 1HNP5/9#DZ+0 @
MY0<  !D              ("!F,H  'AL+W=O<FMS:&5E=',O<VAE970T-2YX
M;6Q02P$"% ,4    " !&B[!4/+V3?WH"  #U!0  &0              @(&?
MS0  >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( $:+L%2(
ME0Z*+P,  #P)   9              " @5#0  !X;"]W;W)K<VAE971S+W-H
M965T-#<N>&UL4$L! A0#%     @ 1HNP5$E<>L:- @  )P8  !D
M     ("!MM,  'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4
M" !&B[!4"J-0NT\"  !_!0  &0              @(%ZU@  >&PO=V]R:W-H
M965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    ( $:+L%2KY1?FPP(   8'   9
M              " @0#9  !X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L!
M A0#%     @ 1HNP5'] 8XTA P  *PD  !D              ("!^ML  'AL
M+W=O<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    " !&B[!4H^ LYE$#
M  !4"P  &0              @(%2WP  >&PO=V]R:W-H965T<R]S:&5E=#4R
M+GAM;%!+ 0(4 Q0    ( $:+L%3C75/DR ,  )(.   9              "
M@=KB  !X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ 1HNP
M5)9^#S4E P  L0D  !D              ("!V>8  'AL+W=O<FMS:&5E=',O
M<VAE970U-"YX;6Q02P$"% ,4    " !&B[!4U9/!46X#  !?#   &0
M        @($UZ@  >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0
M   ( $:+L%32.>)>0P(  *(%   9              " @=KM  !X;"]W;W)K
M<VAE971S+W-H965T-38N>&UL4$L! A0#%     @ 1HNP5 !T0H8F P  #!,
M  T              ( !5/   'AL+W-T>6QE<RYX;6Q02P$"% ,4    " !&
MB[!4EXJ[',     3 @  "P              @ &E\P  7W)E;',O+G)E;'-0
M2P$"% ,4    " !&B[!4[>RH8G($  "D)0  #P              @ &.]
M>&PO=V]R:V)O;VLN>&UL4$L! A0#%     @ 1HNP5 P_D/SE 0  ?R$  !H
M             ( !+?D  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L!
M A0#%     @ 1HNP5(_AMVG3 0  -B$  !,              ( !2OL  %M#
G;VYT96YT7U1Y<&5S72YX;6Q02P4&     $  0 !W$0  3OT

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<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>69
<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>70
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>117</ContextCount>
  <ElementCount>255</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>43</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>100000 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>100020 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>100030 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Operations (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>100040 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Comprehensive Income (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>100070 - Disclosure - Organization and Description of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness</Role>
      <ShortName>Organization and Description of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>100080 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>100090 - Disclosure - Revenue Related Disclosures</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures</Role>
      <ShortName>Revenue Related Disclosures</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>100100 - Disclosure - Business Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitions</Role>
      <ShortName>Business Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>100110 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>100120 - Disclosure - Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwill</Role>
      <ShortName>Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>100130 - Disclosure - Intangible Assets, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNet1</Role>
      <ShortName>Intangible Assets, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>100140 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts</Role>
      <ShortName>Details of Certain Condensed Consolidated Balance Sheet Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>100150 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>100160 - Disclosure - Stock Repurchase Program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgram</Role>
      <ShortName>Stock Repurchase Program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>100170 - Disclosure - Net Income per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShare</Role>
      <ShortName>Net Income per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>100180 - Disclosure - Equity Incentive Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlans</Role>
      <ShortName>Equity Incentive Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>100190 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>100210 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>100220 - Disclosure - Revenue Related Disclosures (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables</Role>
      <ShortName>Revenue Related Disclosures (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>100230 - Disclosure - Business Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsTables</Role>
      <ShortName>Business Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitions</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>100240 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurements</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>100250 - Disclosure - Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillTables</Role>
      <ShortName>Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwill</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>100260 - Disclosure - Intangible Assets, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetTables</Role>
      <ShortName>Intangible Assets, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNet1</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>100270 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables</Role>
      <ShortName>Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>100280 - Disclosure - Net Income per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareTables</Role>
      <ShortName>Net Income per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShare</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>100290 - Disclosure - Equity Incentive Plans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables</Role>
      <ShortName>Equity Incentive Plans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlans</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>100300 - Disclosure - Organization and Description of Business - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails</Role>
      <ShortName>Organization and Description of Business - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>100310 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>100320 - Disclosure - Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails</Role>
      <ShortName>Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>100330 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails</Role>
      <ShortName>Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>100340 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details</Role>
      <ShortName>Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>100350 - Disclosure - Revenue Related Disclosures - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails</Role>
      <ShortName>Revenue Related Disclosures - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>100360 - Disclosure - Business Acquisitions - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails</Role>
      <ShortName>Business Acquisitions - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>100370 - Disclosure - Business Acquisitions - Summary of Purchase Price Allocation as of Acquisition Date (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails</Role>
      <ShortName>Business Acquisitions - Summary of Purchase Price Allocation as of Acquisition Date (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>100380 - Disclosure - Fair Value Measurements - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails</Role>
      <ShortName>Fair Value Measurements - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>100390 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails</Role>
      <ShortName>Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>100400 - Disclosure - Goodwill - Schedule of Changes in Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails</Role>
      <ShortName>Goodwill - Schedule of Changes in Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>100410 - Disclosure - Intangible Assets, Net - Schedule of Intangible Assets Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails</Role>
      <ShortName>Intangible Assets, Net - Schedule of Intangible Assets Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>100420 - Disclosure - Intangible Assets, Net - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails</Role>
      <ShortName>Intangible Assets, Net - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>100430 - Disclosure - Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails</Role>
      <ShortName>Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>100440 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Asset (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails</Role>
      <ShortName>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Asset (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>100450 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails</Role>
      <ShortName>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>100460 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Assets Long-term (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails</Role>
      <ShortName>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Assets Long-term (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>100470 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails</Role>
      <ShortName>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>100480 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails</Role>
      <ShortName>Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>100490 - Disclosure - Related Party Transactions - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails</Role>
      <ShortName>Related Party Transactions - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>100500 - Disclosure - Stock Repurchase Program - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails</Role>
      <ShortName>Stock Repurchase Program - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>100510 - Disclosure - Net Income per Share - Summary of Computation of Basic and Diluted Net Income per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails</Role>
      <ShortName>Net Income per Share - Summary of Computation of Basic and Diluted Net Income per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>100520 - Disclosure - Equity Incentive Plans - Schedule of Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails</Role>
      <ShortName>Equity Incentive Plans - Schedule of Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>100530 - Disclosure - Equity Incentive Plans - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails</Role>
      <ShortName>Equity Incentive Plans - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>100540 - Disclosure - Equity Incentive Plans - Schedule of Outstanding Restricted Stock Units Awards Activity - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails</Role>
      <ShortName>Equity Incentive Plans - Schedule of Outstanding Restricted Stock Units Awards Activity - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>100550 - Disclosure - Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails</Role>
      <ShortName>Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="ssti-20220331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>100560 - Disclosure - Commitments and Contingencies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</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-Q" original="ssti-20220331.htm">ssti-20220331.htm</File>
    <File>ssti-20220331.xsd</File>
    <File>ssti-20220331_cal.xml</File>
    <File>ssti-20220331_def.xml</File>
    <File>ssti-20220331_lab.xml</File>
    <File>ssti-20220331_pre.xml</File>
    <File>ssti-ex31_1.htm</File>
    <File>ssti-ex31_2.htm</File>
    <File>ssti-ex32_1.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="437">http://fasb.org/us-gaap/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="31">http://xbrl.sec.gov/dei/2021q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>73
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "ssti-20220331.htm": {
   "axisCustom": 0,
   "axisStandard": 21,
   "contextCount": 117,
   "dts": {
    "calculationLink": {
     "local": [
      "ssti-20220331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "ssti-20220331_def.xml"
     ]
    },
    "inline": {
     "local": [
      "ssti-20220331.htm"
     ]
    },
    "labelLink": {
     "local": [
      "ssti-20220331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "ssti-20220331_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "ssti-20220331.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/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://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd",
      "https://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"
     ]
    }
   },
   "elementCount": 436,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2021-01-31": 8,
    "http://xbrl.sec.gov/dei/2021q4": 4,
    "total": 12
   },
   "keyCustom": 30,
   "keyStandard": 225,
   "memberCustom": 17,
   "memberStandard": 26,
   "nsprefix": "ssti",
   "nsuri": "http://www.shotspotter.com/20220331",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "100000 - Document - Document and Entity Information",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100090 - Disclosure - Revenue Related Disclosures",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures",
     "shortName": "Revenue Related Disclosures",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100100 - Disclosure - Business Acquisitions",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitions",
     "shortName": "Business Acquisitions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100110 - Disclosure - Fair Value Measurements",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100120 - Disclosure - Goodwill",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwill",
     "shortName": "Goodwill",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100130 - Disclosure - Intangible Assets, Net",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNet1",
     "shortName": "Intangible Assets, Net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100140 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts",
     "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100150 - Disclosure - Related Party Transactions",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactions",
     "shortName": "Related Party Transactions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100160 - Disclosure - Stock Repurchase Program",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgram",
     "shortName": "Stock Repurchase Program",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100170 - Disclosure - Net Income per Share",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShare",
     "shortName": "Net Income per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100180 - Disclosure - Equity Incentive Plans",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlans",
     "shortName": "Equity Incentive Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100190 - Disclosure - Commitments and Contingencies",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100210 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100220 - Disclosure - Revenue Related Disclosures (Tables)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables",
     "shortName": "Revenue Related Disclosures (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100230 - Disclosure - Business Acquisitions (Tables)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsTables",
     "shortName": "Business Acquisitions (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100240 - Disclosure - Fair Value Measurements (Tables)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables",
     "shortName": "Fair Value Measurements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:GoodwillDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100250 - Disclosure - Goodwill (Tables)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillTables",
     "shortName": "Goodwill (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:GoodwillDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100260 - Disclosure - Intangible Assets, Net (Tables)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetTables",
     "shortName": "Intangible Assets, Net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100270 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables",
     "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100280 - Disclosure - Net Income per Share (Tables)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareTables",
     "shortName": "Net Income per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100290 - Disclosure - Equity Incentive Plans (Tables)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables",
     "shortName": "Equity Incentive Plans (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USDollarShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100020 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical",
     "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USDollarShare",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "ssti:NumberOfSubsidiary",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_Subsidiary",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100300 - Disclosure - Organization and Description of Business - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails",
     "shortName": "Organization and Description of Business - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "ssti:NumberOfSubsidiary",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_Subsidiary",
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskCreditRisk",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_a75b9ebe-c12f-409f-a67e-f6f5b2af1084",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "ssti:NumberOfCustomers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_Customer",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100310 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
     "shortName": "Summary of Significant Accounting Policies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskCreditRisk",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_a75b9ebe-c12f-409f-a67e-f6f5b2af1084",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "ssti:NumberOfCustomers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_Customer",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_8c9ce3dd-166f-466a-8205-731d2946109e",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100320 - Disclosure - Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails",
     "shortName": "Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_8c9ce3dd-166f-466a-8205-731d2946109e",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100330 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails",
     "shortName": "Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_edcef4b9-11d8-4db7-831d-3574c5603b9c",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100340 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details",
     "shortName": "Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_8c8e20e8-ebcc-4c8c-ad27-48304a267e32",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100350 - Disclosure - Revenue Related Disclosures - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails",
     "shortName": "Revenue Related Disclosures - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_8c8e20e8-ebcc-4c8c-ad27-48304a267e32",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7a9733c5-ba7d-4002-b38b-e543d0379d83",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100360 - Disclosure - Business Acquisitions - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
     "shortName": "Business Acquisitions - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7a9733c5-ba7d-4002-b38b-e543d0379d83",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100370 - Disclosure - Business Acquisitions - Summary of Purchase Price Allocation as of Acquisition Date (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
     "shortName": "Business Acquisitions - Summary of Purchase Price Allocation as of Acquisition Date (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_02bece99-092b-4ccb-b12f-4ceffbd9871a",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_38dd697e-c3e6-4dff-b9cf-be3f75f77d4a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100380 - Disclosure - Fair Value Measurements - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
     "shortName": "Fair Value Measurements - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet",
       "span",
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_2a55f55a-95cc-4ecf-b15c-8ec2f9628b82",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100390 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liability (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails",
     "shortName": "Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liability (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "div",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_93ee2038-4717-4e84-a909-6fffeee26794",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100030 - Statement - Condensed Consolidated Statements of Operations (Unaudited)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited",
     "shortName": "Condensed Consolidated Statements of Operations (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_8c9ce3dd-166f-466a-8205-731d2946109e",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100400 - Disclosure - Goodwill - Schedule of Changes in Goodwill (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails",
     "shortName": "Goodwill - Schedule of Changes in Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "div",
       "us-gaap:GoodwillDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GoodwillAcquiredDuringPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "div",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100410 - Disclosure - Intangible Assets, Net - Schedule of Intangible Assets Net (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails",
     "shortName": "Intangible Assets, Net - Schedule of Intangible Assets Net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "div",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100420 - Disclosure - Intangible Assets, Net - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails",
     "shortName": "Intangible Assets, Net - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "div",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100430 - Disclosure - Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails",
     "shortName": "Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "div",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100440 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Asset (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails",
     "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Asset (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "ssti:PrepaidSoftwareAndLicensesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100450 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails",
     "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "ssti:PrepaidSoftwareAndLicensesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100460 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Assets Long-term (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails",
     "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Assets Long-term (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedEmployeeBenefitsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100470 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
     "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedEmployeeBenefitsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseLiabilityNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100480 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails",
     "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock",
       "div",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseLiabilityNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_55a2ca40-271c-469b-92d0-fdfd856d242a",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromRelatedParties",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100490 - Disclosure - Related Party Transactions - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails",
     "shortName": "Related Party Transactions - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_55a2ca40-271c-469b-92d0-fdfd856d242a",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromRelatedParties",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100040 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited",
     "shortName": "Condensed Consolidated Statements of Comprehensive Income (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100500 - Disclosure - Stock Repurchase Program - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails",
     "shortName": "Stock Repurchase Program - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_7b1cf6dc-3302-4ebb-b095-7a4899536775",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100510 - Disclosure - Net Income per Share - Summary of Computation of Basic and Diluted Net Income per Share (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails",
     "shortName": "Net Income per Share - Summary of Computation of Basic and Diluted Net Income per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "INF",
      "lang": null,
      "name": "ssti:AntidilutiveEmployeeShareBasedAwardsExcluded",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_8c9ce3dd-166f-466a-8205-731d2946109e",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100520 - Disclosure - Equity Incentive Plans - Schedule of Stock Option Activity (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails",
     "shortName": "Equity Incentive Plans - Schedule of Stock Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_8c9ce3dd-166f-466a-8205-731d2946109e",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_f1ceb39d-4362-4fcc-8360-7eff35fe0c32",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100530 - Disclosure - Equity Incentive Plans - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails",
     "shortName": "Equity Incentive Plans - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_f1ceb39d-4362-4fcc-8360-7eff35fe0c32",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_3a9c8359-2d87-4c19-bc5f-4a30be738182",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100540 - Disclosure - Equity Incentive Plans - Schedule of Outstanding Restricted Stock Units Awards Activity - (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails",
     "shortName": "Equity Incentive Plans - Schedule of Outstanding Restricted Stock Units Awards Activity - (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_3a9c8359-2d87-4c19-bc5f-4a30be738182",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100550 - Disclosure - Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails",
     "shortName": "Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_5559d3d7-e4a9-4130-85e2-89188cfbe620",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:LossContingencyDamagesSoughtValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100560 - Disclosure - Commitments and Contingencies - Additional Information (Details)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
     "shortName": "Commitments and Contingencies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_5559d3d7-e4a9-4130-85e2-89188cfbe620",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:LossContingencyDamagesSoughtValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_3736fb25-2053-4120-9851-540beeb0c02f",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_3736fb25-2053-4120-9851-540beeb0c02f",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100070 - Disclosure - Organization and Description of Business",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness",
     "shortName": "Organization and Description of Business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100080 - Disclosure - Summary of Significant Accounting Policies",
     "role": "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ssti-20220331.htm",
      "contextRef": "C_9310b966-ab7f-4d60-a85d-51cd66f030b8",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 43,
   "tag": {
    "country_BS": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "BAHAMAS",
        "terseLabel": "Bahamas"
       }
      }
     },
     "localname": "BS",
     "nsuri": "http://xbrl.sec.gov/country/2021",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2021",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_ZA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SOUTH AFRICA",
        "terseLabel": "South Africa"
       }
      }
     },
     "localname": "ZA",
     "nsuri": "http://xbrl.sec.gov/country/2021",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r533"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report",
        "terseLabel": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r534"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two",
        "terseLabel": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r536"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.",
        "label": "Entity Ex Transition Period",
        "terseLabel": "Entity Ex Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r530"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r159",
      "r277",
      "r283",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Customer"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r228",
      "r237",
      "r300",
      "r303",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r496",
      "r500",
      "r527",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r228",
      "r237",
      "r300",
      "r303",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r496",
      "r500",
      "r527",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r159",
      "r277",
      "r283",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Customer"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r156",
      "r277",
      "r281",
      "r464",
      "r495",
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r156",
      "r277",
      "r281",
      "r464",
      "r495",
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r228",
      "r237",
      "r289",
      "r300",
      "r303",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r496",
      "r500",
      "r527",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r228",
      "r237",
      "r289",
      "r300",
      "r303",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r496",
      "r500",
      "r527",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioForecastMember": {
     "auth_ref": [
      "r106",
      "r301"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forecast [Member]",
        "terseLabel": "Forecast"
       }
      }
     },
     "localname": "ScenarioForecastMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r106",
      "r111",
      "r301"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r157",
      "r158",
      "r277",
      "r282",
      "r498",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r157",
      "r158",
      "r277",
      "r282",
      "r498",
      "r515",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r106",
      "r111",
      "r203",
      "r301",
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ssti_AccountingPoliciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting policies.",
        "label": "Accounting Policies [Line Items]",
        "terseLabel": "Accounting Policies [Line Items]"
       }
      }
     },
     "localname": "AccountingPoliciesLineItems",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ssti_AccountingPoliciesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting policies.",
        "label": "Accounting Policies [Table]",
        "terseLabel": "Accounting Policies [Table]"
       }
      }
     },
     "localname": "AccountingPoliciesTable",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ssti_AccountingStandardsUpdate202108Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting standards update 2021-08.",
        "label": "Accounting Standards Update 2021-08 [Member]",
        "terseLabel": "ASU 2021-08"
       }
      }
     },
     "localname": "AccountingStandardsUpdate202108Member",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_AccountsReceivableAndContractAssetCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounts receivable and contract asset current.",
        "label": "Accounts Receivable And Contract Asset Current",
        "terseLabel": "Accounts receivable and contract asset, net",
        "totalLabel": "Accounts receivable and contract asset"
       }
      }
     },
     "localname": "AccountsReceivableAndContractAssetCurrent",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued expenses and other current liabilities.",
        "label": "Accrued Expenses And Other Current Liabilities [Abstract]"
       }
      }
     },
     "localname": "AccruedExpensesAndOtherCurrentLiabilitiesAbstract",
     "nsuri": "http://www.shotspotter.com/20220331",
     "xbrltype": "stringItemType"
    },
    "ssti_AccruedLiabilitiesAndOtherLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued liabilities and other liabilities.",
        "label": "Accrued Liabilities And Other Liabilities [Member]",
        "terseLabel": "Accrued Expenses and Other Current Liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesAndOtherLiabilitiesMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_AntidilutiveEmployeeShareBasedAwardsExcluded": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Antidilutive employee share-based awards excluded",
        "label": "Antidilutive employee share-based awards excluded",
        "terseLabel": "Anti-dilutive employee share-based awards, excluded"
       }
      }
     },
     "localname": "AntidilutiveEmployeeShareBasedAwardsExcluded",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "ssti_AzaveaIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Azavea, Inc.",
        "label": "Azavea Inc [Member]",
        "terseLabel": "Azavea, Inc"
       }
      }
     },
     "localname": "AzaveaIncMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_BusinessAndNatureOfOperationsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business and nature of operations.",
        "label": "Business And Nature Of Operations [Line Items]",
        "terseLabel": "Business And Nature Of Operations [Line Items]"
       }
      }
     },
     "localname": "BusinessAndNatureOfOperationsLineItems",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ssti_BusinessAndNatureOfOperationsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business and nature of operations.",
        "label": "Business And Nature Of Operations [Table]",
        "terseLabel": "Business And Nature Of Operations [Table]"
       }
      }
     },
     "localname": "BusinessAndNatureOfOperationsTable",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed accrued expenses and other current liabilities",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Accrued Expenses and Other Current Liabilities",
        "negatedLabel": "Accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed current assets receivables and contract assets net.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Current Assets Receivables and Contract Assets Net",
        "terseLabel": "Accounts receivable and contract asset, net"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed operating lease liabilities.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liabilities",
        "negatedLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed operating lease right of use asset",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right of Use Asset",
        "terseLabel": "Operating lease right-of-use asset"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_CompensatoryDamagesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Compensatory damages.",
        "label": "Compensatory Damages [Member]",
        "terseLabel": "Compensatory Damages"
       }
      }
     },
     "localname": "CompensatoryDamagesMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_ContractWithCustomerLiabilityForeignCurrencyImpact": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer Liability Foreign Currency Impact",
        "label": "Contract With Customer Liability Foreign Currency Impact",
        "negatedLabel": "Foreign currency impact",
        "terseLabel": "Foreign currency impact"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityForeignCurrencyImpact",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_CustomerOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer one.",
        "label": "Customer One [Member]",
        "terseLabel": "Customer One"
       }
      }
     },
     "localname": "CustomerOneMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_CustomerTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer two.",
        "label": "Customer Two [Member]",
        "terseLabel": "Customer Two"
       }
      }
     },
     "localname": "CustomerTwoMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_EstimatedFairValueOfContingentConsideration": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Estimated fair value of contingent consideration.",
        "label": "Estimated Fair Value Of Contingent Consideration",
        "terseLabel": "Estimated fair value of contingent consideration"
       }
      }
     },
     "localname": "EstimatedFairValueOfContingentConsideration",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of common stock issued as consideration for business acquisition.",
        "label": "Fair Value Of Common Stock Issued As Consideration For Business Acquisition",
        "terseLabel": "Fair value of common stock issued as consideration for business acquisition"
       }
      }
     },
     "localname": "FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_FairValueOfContingentConsideration": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of contingent consideration.",
        "label": "Fair Value Of Contingent Consideration",
        "terseLabel": "Fair value of contingent consideration"
       }
      }
     },
     "localname": "FairValueOfContingentConsideration",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_FinancingReceivableAllowanceForCreditLossesAdjustment": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails": {
       "order": 2.0,
       "parentTag": "ssti_AccountsReceivableAndContractAssetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing receivable allowance for credit losses adjustment.",
        "label": "Financing Receivable Allowance for Credit Losses Adjustment",
        "negatedLabel": "Allowance for potential credit losses",
        "terseLabel": "Allowance for potential credit losses"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLossesAdjustment",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_ForensicLogicLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forensic logic, LLC.",
        "label": "Forensic Logic, LLC [Member]",
        "terseLabel": "Forensic Logic"
       }
      }
     },
     "localname": "ForensicLogicLlcMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_ImpairmentOfPropertyAndEquipment": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_CostOfRevenue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Impairment of property and equipment.",
        "label": "Impairment Of Property And Equipment",
        "terseLabel": "Impairment of property and equipment"
       }
      }
     },
     "localname": "ImpairmentOfPropertyAndEquipment",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in accounts receivable and contract asset.",
        "label": "Increase Decrease In Accounts Receivable And Contract Asset",
        "negatedLabel": "Accounts receivable and contract asset"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivableAndContractAsset",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase in common stock capital shares reserved for future issuance.",
        "label": "Increase In Common Stock Capital Shares Reserved For Future Issuance",
        "terseLabel": "Increase in common stock reserved for issuance"
       }
      }
     },
     "localname": "IncreaseInCommonStockCapitalSharesReservedForFutureIssuance",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "ssti_LeaseAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Agreement [Member]",
        "label": "Lease Agreement [Member]",
        "terseLabel": "Lease Agreement"
       }
      }
     },
     "localname": "LeaseAgreementMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_LeaseCommencementDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease commencement date",
        "label": "Lease Commencement Date",
        "terseLabel": "Lease commencement date"
       }
      }
     },
     "localname": "LeaseCommencementDate",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "ssti_LeasedOfficeSpaceArea": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leased office space area.",
        "label": "Leased Office Space Area",
        "terseLabel": "Leased office space area"
       }
      }
     },
     "localname": "LeasedOfficeSpaceArea",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "ssti_LeedsLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leeds LLC.",
        "label": "Leeds L L C [Member]",
        "terseLabel": "LEEDS"
       }
      }
     },
     "localname": "LeedsLLCMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_NumberOfCitiesInWhichEntityOperates": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of cities in which entity operates.",
        "label": "Number Of Cities In Which Entity Operates",
        "terseLabel": "Number of cities in which entity operates"
       }
      }
     },
     "localname": "NumberOfCitiesInWhichEntityOperates",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "ssti_NumberOfCustomers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of customers.",
        "label": "Number Of Customers",
        "terseLabel": "Number of customers"
       }
      }
     },
     "localname": "NumberOfCustomers",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "ssti_NumberOfDaysAmountsToBeDeterminedAndPaid": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of days amounts to be determined and paid.",
        "label": "Number of Days Amounts to be Determined and Paid",
        "terseLabel": "Number of days amounts to be determined and paid"
       }
      }
     },
     "localname": "NumberOfDaysAmountsToBeDeterminedAndPaid",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "ssti_NumberOfSubsidiary": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of subsidiary.",
        "label": "Number Of Subsidiary",
        "terseLabel": "Number of subsidiary"
       }
      }
     },
     "localname": "NumberOfSubsidiary",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "ssti_PaymentForInvestmentInIntangibleAndOtherAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment for investment in intangible and other assets.",
        "label": "Payment For Investment In Intangible And Other Assets",
        "negatedLabel": "Investment in intangible and other assets"
       }
      }
     },
     "localname": "PaymentForInvestmentInIntangibleAndOtherAssets",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_PercentageOfDiscountedCashFlows": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of discounted cash flows",
        "label": "Percentage of Discounted Cash Flows",
        "terseLabel": "Percentage of discounted cash flows"
       }
      }
     },
     "localname": "PercentageOfDiscountedCashFlows",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Periodic increment of common stock capital shares reserved for future issuance.",
        "label": "Periodic Increment Of Common Stock Capital Shares Reserved For Future Issuance",
        "terseLabel": "Periodic increment of common stock reserved for future issuance"
       }
      }
     },
     "localname": "PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "ssti_PrepaidSoftwareAndLicensesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid software and licenses current.",
        "label": "Prepaid Software And Licenses Current",
        "terseLabel": "Prepaid software and licenses"
       }
      }
     },
     "localname": "PrepaidSoftwareAndLicensesCurrent",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_ProfessionalSoftwareDevelopmentServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Professional software development services.",
        "label": "Professional software development services member"
       }
      }
     },
     "localname": "ProfessionalSoftwareDevelopmentServicesMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property and equipment purchases included in accounts payable.",
        "label": "Property And Equipment Purchases Included In Accounts Payable",
        "terseLabel": "Property and equipment purchases included in accounts payable"
       }
      }
     },
     "localname": "PropertyAndEquipmentPurchasesIncludedInAccountsPayable",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_PunitiveDamagesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Punitive damages.",
        "label": "Punitive Damages [Member]",
        "terseLabel": "Punitive Damages"
       }
      }
     },
     "localname": "PunitiveDamagesMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_RecognitionFromBeginningDeferredRevenueBalanceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Recognition from beginning deferred revenue balance.",
        "label": "Recognition From Beginning Deferred Revenue Balance [Member]",
        "terseLabel": "Recognition From Balance at the Beginning of the Year"
       }
      }
     },
     "localname": "RecognitionFromBeginningDeferredRevenueBalanceMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_RecognitionFromNewBillingsOfDeferredRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Recognition from new billings of deferred revenue.",
        "label": "Recognition From New Billings Of Deferred Revenue [Member]",
        "terseLabel": "Revenue Recognized During the Year from New Billings"
       }
      }
     },
     "localname": "RecognitionFromNewBillingsOfDeferredRevenueMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of accounts receivable and contract asset.",
        "label": "Schedule of Accounts Receivable and Contract Asset [Table TextBlock]",
        "terseLabel": "Schedule of Accounts Receivable and Contract Asset"
       }
      }
     },
     "localname": "ScheduleOfAccountsReceivableAndContractAssetTableTextblock",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of common stock reserved for issuance, automatic annual increase end date.",
        "label": "Shares Of Common Stock Reserved For Issuance Automatic Annual Increase End Date",
        "terseLabel": "Shares of common stock reserved for issuance, automatic annual increase end date"
       }
      }
     },
     "localname": "SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of common stock reserved for issuance automatic annual increase initiation period.",
        "label": "Shares Of Common Stock Reserved For Issuance Automatic Annual Increase Initiation Period",
        "terseLabel": "Shares of common stock reserved for issuance, automatic annual increase initiation period"
       }
      }
     },
     "localname": "SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of common stock reserved for issuance automatic annual increase start date.",
        "label": "Shares Of Common Stock Reserved For Issuance Automatic Annual Increase Start Date",
        "terseLabel": "Shares of common stock reserved for issuance, automatic annual increase start date"
       }
      }
     },
     "localname": "SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "ssti_ShotSpotterLabsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ShotSpotter Labs.",
        "label": "Shot Spotter Labs [Member]",
        "terseLabel": "ShotSpotter Labs"
       }
      }
     },
     "localname": "ShotSpotterLabsMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_SoftwareTechnologyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Software technology.",
        "label": "Software Technology [Member]",
        "terseLabel": "Software Technology"
       }
      }
     },
     "localname": "SoftwareTechnologyMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock issued during period shares in connection with exercise of warrants.",
        "label": "Stock Issued During Period Shares In Connection With Exercise Of Warrants",
        "terseLabel": "Issuance of common stock in connection with exercise of warrants, Shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesInConnectionWithExerciseOfWarrants",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock issued during period shares restricted stock award vesting.",
        "label": "Stock Issued During Period Shares Restricted Stock Award Vesting",
        "terseLabel": "Issuance of common stock from RSUs vested, Shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardVesting",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "ssti_StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock issued during period value in connection with exercise of warrants.",
        "label": "Stock Issued During Period Value In Connection With Exercise Of Warrants",
        "terseLabel": "Issuance of common stock in connection with exercise of warrants"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueInConnectionWithExerciseOfWarrants",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ssti_SubscriptionMaintenanceAndSupportServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Subscription, maintenance, and support services.",
        "label": "Subscription, maintenance and support services Member"
       }
      }
     },
     "localname": "SubscriptionMaintenanceAndSupportServicesMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two thousand and seventeen employee stock purchase plan.",
        "label": "Two Thousand And Seventeen Employee Stock Purchase Plan [Member]",
        "terseLabel": "2017 Employee Stock Purchase Plan"
       }
      }
     },
     "localname": "TwoThousandAndSeventeenEmployeeStockPurchasePlanMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2005 Stock Plan and 2017 Equity Incentive Plan.",
        "label": "Two Thousand Five Stock Plan And Two Thousand Seventeen Equity Incentive Plan [Member]",
        "terseLabel": "2005 Plan and 2017 Plan"
       }
      }
     },
     "localname": "TwoThousandFiveStockPlanAndTwoThousandSeventeenEquityIncentivePlanMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ssti_TwoThousandSeventeenEquityIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2017 Equity Incentive Plan.",
        "label": "Two Thousand Seventeen Equity Incentive Plan [Member]",
        "terseLabel": "2017 Equity Incentive Plan"
       }
      }
     },
     "localname": "TwoThousandSeventeenEquityIncentivePlanMember",
     "nsuri": "http://www.shotspotter.com/20220331",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r33",
      "r447"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable",
        "totalLabel": "Accounts Payable, Current, Total"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r8",
      "r22",
      "r160",
      "r161"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails": {
       "order": 0.0,
       "parentTag": "ssti_AccountsReceivableAndContractAssetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable",
        "totalLabel": "Accounts Receivable, after Allowance for Credit Loss, Current, Total"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "auth_ref": [
      "r15",
      "r16",
      "r35"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Employee Benefits, Current",
        "terseLabel": "Personnel-related accruals"
       }
      }
     },
     "localname": "AccruedEmployeeBenefitsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.",
        "label": "Accrued Liabilities and Other Liabilities",
        "terseLabel": "Accrued expenses and other current liabilities",
        "totalLabel": "Accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesAndOtherLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "auth_ref": [
      "r15",
      "r16",
      "r35"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Professional Fees, Current",
        "terseLabel": "Professional fees"
       }
      }
     },
     "localname": "AccruedProfessionalFeesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedRoyaltiesCurrent": {
     "auth_ref": [
      "r15",
      "r16",
      "r35"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for royalties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Royalties, Current",
        "terseLabel": "Royalties payable"
       }
      }
     },
     "localname": "AccruedRoyaltiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r25",
      "r46",
      "r47",
      "r48",
      "r485",
      "r508",
      "r512"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss",
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r45",
      "r48",
      "r55",
      "r56",
      "r57",
      "r95",
      "r96",
      "r97",
      "r383",
      "r503",
      "r504",
      "r541"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r23"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "periodEndLabel": "Additional Paid in Capital, Common Stock, Ending Balance",
        "periodStartLabel": "Additional Paid in Capital, Common Stock, Beginning Balance",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r95",
      "r96",
      "r97",
      "r331",
      "r332",
      "r333",
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r0",
      "r1",
      "r2",
      "r3",
      "r4",
      "r99",
      "r100",
      "r101",
      "r102",
      "r111",
      "r163",
      "r164",
      "r169",
      "r170",
      "r171",
      "r172",
      "r173",
      "r174",
      "r214",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r341",
      "r342",
      "r343",
      "r344",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r415",
      "r416",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r436",
      "r466",
      "r467",
      "r468",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by amendment to accounting standards.",
        "label": "Accounting Standards Update [Axis]"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r304",
      "r306",
      "r336",
      "r337"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by (used in) operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r306",
      "r324",
      "r335"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-based Payment Arrangement, Expense",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r83",
      "r184",
      "r189"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization of intangible assets",
        "totalLabel": "Amortization of Intangible Assets, Total",
        "verboseLabel": "Intangible amortization expense"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]"
       }
      }
     },
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r92",
      "r145",
      "r148",
      "r154",
      "r165",
      "r215",
      "r216",
      "r217",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r378",
      "r384",
      "r414",
      "r445",
      "r447",
      "r473",
      "r484"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r11",
      "r13",
      "r42",
      "r92",
      "r165",
      "r215",
      "r216",
      "r217",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r378",
      "r384",
      "r414",
      "r445",
      "r447"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r307",
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r389",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BalanceSheetRelatedDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Related Disclosures [Abstract]"
       }
      }
     },
     "localname": "BalanceSheetRelatedDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r299",
      "r302"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r299",
      "r302",
      "r354",
      "r355"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition1": {
     "auth_ref": [
      "r348",
      "r349",
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the acquirer obtains control of the acquiree, in YYYY-MM-DD format.",
        "label": "Business Acquisition, Effective Date of Acquisition",
        "terseLabel": "Business acquisition date"
       }
      }
     },
     "localname": "BusinessAcquisitionEffectiveDateOfAcquisition1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Business Acquisition [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.",
        "label": "Business Acquisition, Percentage of Voting Interests Acquired",
        "terseLabel": "Membership interests, acquired"
       }
      }
     },
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.",
        "label": "Business Acquisition, Pro Forma Net Income (Loss)",
        "terseLabel": "Business acquisition, pro forma net income (loss)"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.",
        "label": "Business Acquisition, Pro Forma Revenue",
        "terseLabel": "Business acquisition pro forma revenue"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "auth_ref": [
      "r347"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.",
        "label": "Business Combination, Acquisition Related Costs",
        "terseLabel": "Acquisition-related expenses"
       }
      }
     },
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r365",
      "r366",
      "r369"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred",
        "terseLabel": "Business acquisition estimated purchase consideration/purchase consideration",
        "totalLabel": "Business Combination, Consideration Transferred, Total"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "auth_ref": [
      "r365",
      "r366"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.",
        "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable",
        "terseLabel": "Business acquisition purchase consideration, stock issued"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": {
     "auth_ref": [
      "r363",
      "r365",
      "r366",
      "r371"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.",
        "label": "Business Combination, Consideration Transferred, Liabilities Incurred",
        "terseLabel": "Preliminary fair value of the contingent earnout"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "auth_ref": [
      "r82",
      "r373"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability",
        "terseLabel": "Contingent consideration - Forensic Logic (Note 4 - Business Acquisitions)"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiability": {
     "auth_ref": [
      "r364",
      "r367",
      "r372"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.",
        "label": "Business Combination, Contingent Consideration, Liability",
        "terseLabel": "Business acquisition contingent earnout payable in cash",
        "totalLabel": "Business Combination, Contingent Consideration, Liability, Total",
        "verboseLabel": "Contingent consideration liability"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": {
     "auth_ref": [
      "r364",
      "r368"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.",
        "label": "Business Combination, Contingent Consideration, Liability, Current",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": {
     "auth_ref": [
      "r364",
      "r368"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherLiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.",
        "label": "Business Combination, Contingent Consideration, Liability, Noncurrent",
        "terseLabel": "Contingent consideration liability"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Business Acquisitions"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "auth_ref": [
      "r357"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": {
     "auth_ref": [
      "r357"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other",
        "terseLabel": "Other asset"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue": {
     "auth_ref": [
      "r357"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Deferred Revenue",
        "negatedLabel": "Deferred revenue"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "auth_ref": [
      "r356",
      "r357"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles",
        "terseLabel": "Identifiable technology and intangible assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "auth_ref": [
      "r356",
      "r357"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment",
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r357"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net",
        "totalLabel": "Total estimated consideration"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations [Abstract]"
       }
      }
     },
     "localname": "BusinessCombinationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r7",
      "r31",
      "r85"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "periodEndLabel": "Cash and Cash Equivalents, at Carrying Value, Ending Balance",
        "periodStartLabel": "Cash and Cash Equivalents, at Carrying Value, Beginning Balance",
        "terseLabel": "Cash and cash equivalents",
        "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r80",
      "r85",
      "r87"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for 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.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash, cash equivalents and restricted cash at end of year",
        "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of year",
        "totalLabel": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Total"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r80",
      "r424"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "totalLabel": "Decrease in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]",
        "terseLabel": "Supplemental disclosure of non-cash financing activities:"
       }
      }
     },
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted": {
     "auth_ref": [
      "r0",
      "r1",
      "r95",
      "r96",
      "r98",
      "r163",
      "r164",
      "r166",
      "r167",
      "r168",
      "r169",
      "r170",
      "r214",
      "r327",
      "r328",
      "r329",
      "r341",
      "r391",
      "r392",
      "r393",
      "r415",
      "r417",
      "r418",
      "r419",
      "r422",
      "r423",
      "r432",
      "r436",
      "r466",
      "r467",
      "r501",
      "r502",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates (true false) whether accounting standards update was adopted.",
        "label": "Change in Accounting Principle, Accounting Standards Update, Adopted [true false]",
        "terseLabel": "Change in accounting principle, ASU, adopted"
       }
      }
     },
     "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate": {
     "auth_ref": [
      "r0",
      "r1",
      "r95",
      "r96",
      "r105",
      "r163",
      "r164",
      "r166",
      "r167",
      "r168",
      "r169",
      "r170",
      "r214",
      "r327",
      "r328",
      "r329",
      "r341",
      "r391",
      "r392",
      "r393",
      "r394",
      "r397",
      "r415",
      "r417",
      "r418",
      "r419",
      "r422",
      "r423",
      "r432",
      "r436",
      "r466",
      "r467",
      "r501",
      "r502",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date accounting standards update was adopted, in YYYY-MM-DD format.",
        "label": "Change in Accounting Principle, Accounting Standards Update, Adoption Date",
        "terseLabel": "Change in accounting principle, ASU, adoption date"
       }
      }
     },
     "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_ClassOfStockLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Class of Stock [Line Items]",
        "terseLabel": "Class Of Stock [Line Items]"
       }
      }
     },
     "localname": "ClassOfStockLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r38",
      "r202",
      "r475",
      "r489"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies (Note 13)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r199",
      "r200",
      "r201",
      "r211",
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r95",
      "r96",
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r21"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r21"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "verboseLabel": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r21"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued",
        "totalLabel": "Common Stock, Shares, Issued, Total"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r21",
      "r251"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance",
        "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance",
        "terseLabel": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r21",
      "r447"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common Stock, Value, Issued",
        "periodEndLabel": "Common Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Common Stock, Value, Issued, Beginning Balance",
        "terseLabel": "Common stock: $0.005 par value; 500,000,000 shares authorized; 2,141,630 and 11,703,430 shares issued and outstanding as of March 31, 2022 and December 31, 2021, respectively",
        "totalLabel": "Common Stock, Value, Issued, Total"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r51",
      "r53",
      "r54",
      "r61",
      "r478",
      "r491"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "auth_ref": [
      "r185",
      "r187",
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Computer Software, Intangible Asset [Member]",
        "terseLabel": "Software Technology"
       }
      }
     },
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r137",
      "r138",
      "r159",
      "r412",
      "r413",
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r137",
      "r138",
      "r159",
      "r412",
      "r413",
      "r513",
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r137",
      "r138",
      "r159",
      "r412",
      "r413",
      "r513",
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r133",
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentrations of Risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r137",
      "r138",
      "r159",
      "r412",
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk percentage"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r137",
      "r138",
      "r159",
      "r412",
      "r413",
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure": {
     "auth_ref": [
      "r403"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of contingent consideration in a business combination that is classified in shareholders' equity.",
        "label": "Contingent Consideration Classified as Equity, Fair Value Disclosure",
        "terseLabel": "Estimated fair value of contingent consideration"
       }
      }
     },
     "localname": "ContingentConsiderationClassifiedAsEquityFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r266"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "terseLabel": "Schedule of Changes in Deferred Revenue"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r261",
      "r263",
      "r278"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails": {
       "order": 1.0,
       "parentTag": "ssti_AccountsReceivableAndContractAssetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current",
        "terseLabel": "Contract asset",
        "totalLabel": "Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerDurationAxis": {
     "auth_ref": [
      "r277",
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by duration of contract with customer. Includes, but is not limited to, short-term and long-term contracts.",
        "label": "Contract with Customer, Duration [Axis]",
        "terseLabel": "Contract with Customer, Duration"
       }
      }
     },
     "localname": "ContractWithCustomerDurationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerDurationDomain": {
     "auth_ref": [
      "r277",
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Duration of contract with customer. Includes, but is not limited to, short-term and long-term contracts.",
        "label": "Contract with Customer, Duration [Domain]",
        "terseLabel": "Contract with Customer, Duration"
       }
      }
     },
     "localname": "ContractWithCustomerDurationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r261",
      "r262",
      "r278"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "periodEndLabel": "Balance at the end of the year",
        "periodStartLabel": "Balance at the beginning of the year",
        "terseLabel": "Balance at the beginning of the year",
        "totalLabel": "Contract with Customer, Liability, Total",
        "verboseLabel": "Balance at the end of the year"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress": {
     "auth_ref": [
      "r265"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in measure of progress which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Measure of Progress",
        "terseLabel": "New billings"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r261",
      "r262",
      "r278"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue, short-term"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination": {
     "auth_ref": [
      "r264"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.",
        "label": "Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination",
        "terseLabel": "Deferred revenues acquired (Note 4 - Business Acquisitions)"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "auth_ref": [
      "r261",
      "r262",
      "r278"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.",
        "label": "Contract with Customer, Liability, Noncurrent",
        "terseLabel": "Deferred revenue, long-term"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r279"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "negatedLabel": "Revenue recognized during the period",
        "terseLabel": "Revenue recognized during the year from balance at the beginning of the year"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r68",
      "r464"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_CostOfRevenue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenues",
        "totalLabel": "Cost of Goods and Services Sold, Total"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r69",
      "r92",
      "r165",
      "r215",
      "r216",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r414"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.",
        "label": "Cost of Revenue",
        "totalLabel": "Total costs"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Revenue [Abstract]",
        "terseLabel": "Costs"
       }
      }
     },
     "localname": "CostOfRevenueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of Revenues"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r136",
      "r159"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r360"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer Relationships"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredCosts": {
     "auth_ref": [
      "r19",
      "r472",
      "r483"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred cost, excluding capitalized cost related to contract with customer; classified as noncurrent.",
        "label": "Deferred Costs, Noncurrent",
        "terseLabel": "Deferred commissions",
        "totalLabel": "Deferred Costs, Noncurrent, Total"
       }
      }
     },
     "localname": "DeferredCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r32"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.",
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "terseLabel": "Schedule of Prepaid Expenses and Other Current Assets"
       }
      }
     },
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredCostsCurrent": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of deferred costs capitalized at the end of the reporting period that are expected to be charged against earnings within one year or the normal operating cycle, if longer.",
        "label": "Deferred Costs, Current",
        "terseLabel": "Deferred commissions",
        "totalLabel": "Deferred Costs, Current, Total"
       }
      }
     },
     "localname": "DeferredCostsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r83",
      "r194"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation of property and equipment",
        "totalLabel": "Depreciation, Total"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation Of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r277",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]",
        "terseLabel": "Disaggregation Of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement [Text Block]",
        "terseLabel": "Equity Incentive Plans"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r62",
      "r103",
      "r104",
      "r105",
      "r106",
      "r107",
      "r112",
      "r114",
      "r119",
      "r120",
      "r121",
      "r125",
      "r126",
      "r401",
      "r402",
      "r479",
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Net income (loss) per share, basic",
        "totalLabel": "Earnings Per Share, Basic, Total",
        "verboseLabel": "Net income per share, basic"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r62",
      "r103",
      "r104",
      "r105",
      "r106",
      "r107",
      "r114",
      "r119",
      "r120",
      "r121",
      "r125",
      "r126",
      "r401",
      "r402",
      "r479",
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Net income (loss) per share, diluted",
        "totalLabel": "Earnings Per Share, Diluted, Total",
        "verboseLabel": "Net income per share, diluted"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r122",
      "r123",
      "r124",
      "r127"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Net Income per Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r424"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "terseLabel": "Effect of exchange rate on cash and cash equivalents",
        "totalLabel": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r2",
      "r55",
      "r56",
      "r57",
      "r95",
      "r96",
      "r97",
      "r100",
      "r108",
      "r110",
      "r128",
      "r172",
      "r251",
      "r258",
      "r331",
      "r332",
      "r333",
      "r343",
      "r344",
      "r400",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r503",
      "r504",
      "r505",
      "r541"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r298",
      "r404",
      "r452",
      "r453",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "terseLabel": "Fair Value Hierarchy and NAV"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r403",
      "r404",
      "r405",
      "r406",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r409"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r298",
      "r404",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Level 3"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]",
        "terseLabel": "Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": {
     "auth_ref": [
      "r407",
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]",
        "terseLabel": "Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Table]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "auth_ref": [
      "r407",
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]",
        "terseLabel": "Summary of Changes in Fair Value of Contingent Consideration Liability"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease": {
     "auth_ref": [
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease)",
        "terseLabel": "Change in fair value of contingent consideration",
        "totalLabel": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease), Total"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": {
     "auth_ref": [
      "r408"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements",
        "terseLabel": "Payment of contingent consideration liability"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transfers of financial instrument classified as a liability into (out of) level 3 of the fair value hierarchy.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Transfers, Net",
        "terseLabel": "Transfers into or out of level 3",
        "totalLabel": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Transfers, Net, Total"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": {
     "auth_ref": [
      "r407"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r298",
      "r452",
      "r453",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "terseLabel": "Fair Value Hierarchy and NAV"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r409",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Recurring [Member]",
        "terseLabel": "Fair Value Measurements Recurring",
        "verboseLabel": "Fair Value Measurements Recurring"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FeaturesOfConvertiblePreferredStockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Features of Convertible Preferred Stock [Abstract]"
       }
      }
     },
     "localname": "FeaturesOfConvertiblePreferredStockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r188"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedTerseLabel": "Accumulated Amortization",
        "terseLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r190"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year",
        "terseLabel": "Remainder of 2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r190"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r190"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r190"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r185",
      "r186",
      "r188",
      "r191",
      "r465",
      "r469"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r188",
      "r469"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross",
        "totalLabel": "Finite-Lived Intangible Assets, Gross, Total"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r185",
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r188",
      "r465"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "periodEndLabel": "Finite-Lived Intangible Assets, Net, Ending Balance",
        "periodStartLabel": "Finite-Lived Intangible Assets, Net, Beginning Balance",
        "terseLabel": "Total",
        "totalLabel": "Net",
        "verboseLabel": "Intangible assets, net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "auth_ref": [
      "r83",
      "r193",
      "r196"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property",
        "negatedLabel": "Loss on disposal of property and equipment"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative",
        "totalLabel": "General and Administrative Expense, Total"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "auth_ref": [
      "r63"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing general and administrative expense.",
        "label": "General and Administrative Expense [Member]",
        "terseLabel": "General and Administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r178",
      "r179",
      "r447",
      "r471"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Goodwill",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Balance, end of year",
        "totalLabel": "Goodwill, Total",
        "verboseLabel": "Balance, beginning of year"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "auth_ref": [
      "r180"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.",
        "label": "Goodwill, Acquired During Period",
        "terseLabel": "Acquisition of Forensic Logic (see Note 4 Business Acquisitions)",
        "verboseLabel": "Goodwill recorded on acquisition of LEEDS"
       }
      }
     },
     "localname": "GoodwillAcquiredDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillDisclosureTextBlock": {
     "auth_ref": [
      "r183"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill.",
        "label": "Goodwill Disclosure [Text Block]",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "GoodwillDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwill"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Goodwill [Line Items]"
       }
      }
     },
     "localname": "GoodwillLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillPeriodIncreaseDecrease": {
     "auth_ref": [
      "r181"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Period Increase (Decrease)",
        "terseLabel": "Change during the period",
        "totalLabel": "Goodwill, Period Increase (Decrease), Total"
       }
      }
     },
     "localname": "GoodwillPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r66",
      "r92",
      "r145",
      "r147",
      "r150",
      "r153",
      "r155",
      "r165",
      "r215",
      "r216",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r414"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r59",
      "r145",
      "r147",
      "r150",
      "r153",
      "r155",
      "r470",
      "r476",
      "r480",
      "r493"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r197",
      "r198"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r198"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r93",
      "r109",
      "r110",
      "r144",
      "r340",
      "r345",
      "r346",
      "r494"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Provision for income taxes",
        "totalLabel": "Income Tax Expense (Benefit), Total"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r86"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Cash paid for income taxes",
        "totalLabel": "Income Taxes Paid, Net, Total"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable",
        "totalLabel": "Increase (Decrease) in Accounts Payable, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other.",
        "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities",
        "terseLabel": "Accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r82",
      "r462"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other assets",
        "totalLabel": "Increase (Decrease) in Prepaid Expense and Other Assets, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r115",
      "r116",
      "r117",
      "r121"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Dilutive effect of common stock equivalents",
        "totalLabel": "Incremental Common Shares Attributable to Share-based Payment Arrangements, Total"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Intangible Assets, Net"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNet1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of nonoperating interest income (expense).",
        "label": "Interest Income (Expense), Nonoperating, Net",
        "terseLabel": "Interest income, net"
       }
      }
     },
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseExpirationDate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date which lease or group of leases is set to expire, in YYYY-MM-DD format.",
        "label": "Lease Expiration Date",
        "terseLabel": "Lease expiration date"
       }
      }
     },
     "localname": "LeaseExpirationDate1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r34",
      "r92",
      "r149",
      "r165",
      "r215",
      "r216",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r379",
      "r384",
      "r385",
      "r414",
      "r445",
      "r446"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r28",
      "r92",
      "r165",
      "r414",
      "r447",
      "r474",
      "r487"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "Liabilities and Stockholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r36",
      "r92",
      "r165",
      "r215",
      "r216",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r379",
      "r384",
      "r385",
      "r414",
      "r445",
      "r446",
      "r447"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesFairValueDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Fair Value Disclosure [Abstract]"
       }
      }
     },
     "localname": "LiabilitiesFairValueDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesByNatureOfContingencyAxis": {
     "auth_ref": [
      "r202",
      "r203",
      "r204",
      "r206",
      "r207",
      "r208",
      "r210",
      "r212",
      "r213"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.",
        "label": "Loss Contingency Nature [Axis]"
       }
      }
     },
     "localname": "LossContingenciesByNatureOfContingencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Loss Contingencies [Line Items]"
       }
      }
     },
     "localname": "LossContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r202",
      "r203",
      "r204",
      "r206",
      "r207",
      "r208",
      "r210",
      "r212",
      "r213"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.",
        "label": "Loss Contingencies [Table]"
       }
      }
     },
     "localname": "LossContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingency [Abstract]"
       }
      }
     },
     "localname": "LossContingencyAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyDamagesSoughtValue": {
     "auth_ref": [
      "r202",
      "r205",
      "r209"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter.",
        "label": "Loss Contingency, Damages Sought, Value",
        "terseLabel": "Loss contingency damages sought value"
       }
      }
     },
     "localname": "LossContingencyDamagesSoughtValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyNatureDomain": {
     "auth_ref": [
      "r202",
      "r203",
      "r204",
      "r206",
      "r207",
      "r208",
      "r210",
      "r212",
      "r213"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.",
        "label": "Loss Contingency, Nature [Domain]"
       }
      }
     },
     "localname": "LossContingencyNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash used in financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r80",
      "r81",
      "r84"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r5",
      "r49",
      "r52",
      "r57",
      "r60",
      "r84",
      "r92",
      "r99",
      "r103",
      "r104",
      "r105",
      "r106",
      "r109",
      "r110",
      "r118",
      "r145",
      "r147",
      "r150",
      "r153",
      "r155",
      "r165",
      "r215",
      "r216",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r402",
      "r414",
      "r477",
      "r490"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net income (loss)",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited",
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Attributable to Parent [Abstract]",
        "terseLabel": "Numerator:"
       }
      }
     },
     "localname": "NetIncomeLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Total other income (expense), net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expense), net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Operating Expenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r145",
      "r147",
      "r150",
      "r153",
      "r155"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r435"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "Operating Lease, Expense",
        "terseLabel": "Lease expense"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r434"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liability",
        "verboseLabel": "Lease liabilities (short-term) (presented within Accrued expenses and other current liabilities)"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r434"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_OtherLiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r433"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "auth_ref": [
      "r6",
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "terseLabel": "Organization and Description of Business"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r41",
      "r447"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Assets, Current",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsMiscellaneousNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.",
        "label": "Other Assets, Miscellaneous, Noncurrent",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherAssetsMiscellaneousNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets",
        "totalLabel": "Total other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrentDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Noncurrent Disclosure [Abstract]",
        "terseLabel": "Other Assets Noncurrent Disclosure [Abstract]"
       }
      }
     },
     "localname": "OtherAssetsNoncurrentDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherAssetsLongTermDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r44"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Change in foreign currency translation adjustment",
        "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r50",
      "r53",
      "r376",
      "r377",
      "r382"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive income (loss)",
        "totalLabel": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Total"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r14",
      "r15",
      "r35",
      "r447"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Current",
        "terseLabel": "Other",
        "totalLabel": "Other Liabilities, Current, Total"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other liabilities",
        "totalLabel": "Other liabilities, noncurrent"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Liabilities, Noncurrent [Abstract]"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherNoncurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.",
        "label": "Other Noncurrent Liabilities [Member]",
        "terseLabel": "Other Liabilities"
       }
      }
     },
     "localname": "OtherNoncurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherNoncurrentLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of other noncurrent liabilities.",
        "label": "Other Noncurrent Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Other Long-term Liabilities"
       }
      }
     },
     "localname": "OtherNoncurrentLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "terseLabel": "Other expense, net",
        "totalLabel": "Other Nonoperating Income (Expense), Total"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherPrepaidExpenseCurrent": {
     "auth_ref": [
      "r9",
      "r12",
      "r177"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for other costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Other Prepaid Expense, Current",
        "terseLabel": "Other prepaid expenses"
       }
      }
     },
     "localname": "OtherPrepaidExpenseCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r362"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Patents [Member]",
        "terseLabel": "Patents"
       }
      }
     },
     "localname": "PatentsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.",
        "label": "Payment for Contingent Consideration Liability, Financing Activities",
        "negatedLabel": "Payment of contingent consideration liability",
        "terseLabel": "Payment of contingent consideration liability"
       }
      }
     },
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Repurchases of common stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "auth_ref": [
      "r73",
      "r370"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.",
        "label": "Payments to Acquire Businesses, Gross",
        "terseLabel": "Business acquisition purchase consideration in cash"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "negatedLabel": "Business acquisition, net of cash acquired",
        "totalLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r74"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchase of property and equipment",
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r307",
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r20",
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r20"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r20",
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued",
        "totalLabel": "Preferred Stock, Shares Issued, Total"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r20"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Preferred Stock, Shares Outstanding",
        "periodEndLabel": "Preferred Stock, Shares Outstanding, Ending Balance",
        "periodStartLabel": "Preferred Stock, Shares Outstanding, Beginning Balance",
        "terseLabel": "Preferred stock, shares outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r20",
      "r447"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Preferred Stock, Value, Issued",
        "periodEndLabel": "Preferred Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Preferred Stock, Value, Issued, Beginning Balance",
        "terseLabel": "Preferred stock: $0.005 par value; 20,000,000 shares authorized; no shares issued and outstanding as of March 31, 2022 and December 31, 2021",
        "totalLabel": "Preferred Stock, Value, Issued, Total"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r11",
      "r29",
      "r30"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets, Current [Abstract]"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PrepaidInsurance": {
     "auth_ref": [
      "r10",
      "r12",
      "r176",
      "r177"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Insurance",
        "terseLabel": "Prepaid insurance"
       }
      }
     },
     "localname": "PrepaidInsurance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans": {
     "auth_ref": [
      "r75",
      "r326"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Excludes option exercised.",
        "label": "Proceeds, Issuance of Shares, Share-based Payment Arrangement, Excluding Option Exercised",
        "terseLabel": "Proceeds from employee stock purchase plan"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r75",
      "r326"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromWarrantExercises": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from holders exercising their stock warrants.",
        "label": "Proceeds from Warrant Exercises",
        "terseLabel": "Proceeds from exercise of warrants"
       }
      }
     },
     "localname": "ProceedsFromWarrantExercises",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductionRelatedImpairmentsOrCharges": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nonrecurring impairment charges related to the write-off of production-related equipment and inventory. This tag is used when an Entity charges this cost to cost of goods sold.",
        "label": "Production Related Impairments or Charges",
        "terseLabel": "Impairment of property and equipment",
        "totalLabel": "Production Related Impairments or Charges, Total"
       }
      }
     },
     "localname": "ProductionRelatedImpairmentsOrCharges",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r5",
      "r49",
      "r52",
      "r57",
      "r79",
      "r92",
      "r99",
      "r109",
      "r110",
      "r145",
      "r147",
      "r150",
      "r153",
      "r155",
      "r165",
      "r215",
      "r216",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r376",
      "r380",
      "r381",
      "r386",
      "r387",
      "r402",
      "r414",
      "r480"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income",
        "totalLabel": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r17",
      "r18",
      "r195",
      "r447",
      "r481",
      "r488"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment, Net",
        "periodEndLabel": "Property, Plant and Equipment, Net, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Net, Beginning Balance",
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Property, Plant and Equipment, Net, Total"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r64",
      "r175"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Provision for accounts receivable"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "auth_ref": [
      "r297",
      "r439",
      "r440",
      "r442"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party transaction.",
        "label": "Related Party Transaction [Axis]",
        "terseLabel": "Related Party Transaction"
       }
      }
     },
     "localname": "RelatedPartyTransactionAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "auth_ref": [
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party.",
        "label": "Related Party Transaction [Domain]",
        "terseLabel": "Related Party Transaction"
       }
      }
     },
     "localname": "RelatedPartyTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "Related Party Transaction [Line Items]"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r437",
      "r438",
      "r440",
      "r443",
      "r444"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "Related Party Transactions"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "auth_ref": [
      "r77",
      "r91"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Repayments of Lines of Credit",
        "negatedLabel": "Payment of line of credit costs"
       }
      }
     },
     "localname": "RepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r339",
      "r463",
      "r529"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development",
        "totalLabel": "Research and Development Expense, Total"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research and Development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Unit"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r24",
      "r258",
      "r334",
      "r447",
      "r486",
      "r507",
      "r512"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "periodEndLabel": "Retained Earnings (Accumulated Deficit), Ending Balance",
        "periodStartLabel": "Retained Earnings (Accumulated Deficit), Beginning Balance",
        "terseLabel": "Accumulated deficit",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r2",
      "r95",
      "r96",
      "r97",
      "r100",
      "r108",
      "r110",
      "r172",
      "r331",
      "r332",
      "r333",
      "r343",
      "r344",
      "r400",
      "r503",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r142",
      "r143",
      "r146",
      "r151",
      "r152",
      "r156",
      "r157",
      "r159",
      "r276",
      "r277",
      "r464"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Revenues",
        "totalLabel": "Revenue from Contract with Customer, Excluding Assessed Tax, Total"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r274",
      "r275",
      "r280",
      "r288"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue Related Disclosures"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromRelatedParties": {
     "auth_ref": [
      "r65",
      "r218",
      "r220",
      "r221",
      "r225",
      "r226",
      "r227",
      "r514"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.",
        "label": "Revenue from Related Parties",
        "terseLabel": "Revenue from related parties"
       }
      }
     },
     "localname": "RevenueFromRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r272"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Estimated remaining performance obligations for contractually committed revenues"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r273"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Estimated remaining performance obligations for contractually committed revenues recognition period"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r273"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": {
     "auth_ref": [
      "r273"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]",
        "terseLabel": "Schedule of Remaining Performance Obligations for Contractually Committed Revenues"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r58",
      "r92",
      "r142",
      "r143",
      "r146",
      "r151",
      "r152",
      "r156",
      "r157",
      "r159",
      "r165",
      "r215",
      "r216",
      "r217",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r226",
      "r227",
      "r414",
      "r480"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "terseLabel": "Revenues",
        "totalLabel": "Revenues, Total"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesAndExciseTaxPayableCurrent": {
     "auth_ref": [
      "r16",
      "r33"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Sales and Excise Tax Payable, Current",
        "terseLabel": "Sales/ use tax payable"
       }
      }
     },
     "localname": "SalesAndExciseTaxPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r137",
      "r159"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Revenues"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the (a) 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 (accounts payable); (b) other payables; and (c) accrued liabilities. 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). An alternative caption includes accrued expenses.",
        "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Accrued Expenses and Other Current Liabilities"
       }
      }
     },
     "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r354",
      "r355"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r121"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Summary of Computation of Basic and Diluted Net Income per Share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r306",
      "r323",
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Schedule Of Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r306",
      "r323",
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations",
        "verboseLabel": "Schedule of Stock-Based Compensation Expense Recorded in Consolidated Statements of Operations"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r185",
      "r187",
      "r465"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r185",
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Intangible Assets Net"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r181",
      "r182"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.",
        "label": "Schedule of Goodwill [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r181",
      "r182"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of Changes in Goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [
      "r314"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.",
        "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]",
        "terseLabel": "Schedule of Outstanding Restricted Stock Units Awards Activity"
       }
      }
     },
     "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock": {
     "auth_ref": [
      "r32"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of noncurrent assets.",
        "label": "Schedule of Other Assets, Noncurrent [Table Text Block]",
        "terseLabel": "Schedule of Other Assets Long-term"
       }
      }
     },
     "localname": "ScheduleOfOtherAssetsNoncurrentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "auth_ref": [
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.",
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]",
        "terseLabel": "Summary of Purchase Price Allocation as of Acquisition Date"
       }
      }
     },
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r441",
      "r442"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Schedule of Related Party Transactions, by Related Party [Table]",
        "terseLabel": "Schedule Of Related Party Transactions By Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r307",
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "terseLabel": "Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r309",
      "r319",
      "r322"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Schedule of Stock Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "auth_ref": [
      "r39",
      "r89",
      "r129",
      "r130",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r240",
      "r244",
      "r249",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.",
        "label": "Schedule of Stock by Class [Table]",
        "terseLabel": "Schedule Of Stock By Class [Table]"
       }
      }
     },
     "localname": "ScheduleOfStockByClassTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of Future Intangible Asset Amortization"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Selling and Marketing Expense",
        "terseLabel": "Sales and marketing",
        "totalLabel": "Selling and Marketing Expense, Total"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "auth_ref": [
      "r63"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling and marketing expense.",
        "label": "Selling and Marketing Expense [Member]",
        "terseLabel": "Sales and Marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "Share-based Payment Arrangement, Noncash Expense, Total"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Abstract]"
       }
      }
     },
     "localname": "ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedTerseLabel": "Number of Restricted Stock Units, Canceled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r318"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted Average Grant Date Fair Value per RSU, Canceled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r316"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Number of Restricted Stock Units, Granted",
        "verboseLabel": "Number of Restricted Stock Units, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r316"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Grant Date Fair Value, Granted",
        "verboseLabel": "Weighted Average Grant Date Fair Value per RSU, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Number of Restricted Stock Units, Ending Balance",
        "periodStartLabel": "Number of Restricted Stock Units, Beginning Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Weighted Average Grant Date Fair Value per RSU, Ending Balance",
        "periodStartLabel": "Weighted Average Grant Date Fair Value per RSU, Beginning Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Number of Restricted Stock Units, Vested",
        "terseLabel": "Number of Restricted Stock Units, Vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "verboseLabel": "Weighted Average Grant Date Fair Value per RSU, Vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Number of shares available for future grant"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r321"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Aggregate Intrinsic Value Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period",
        "negatedLabel": "Number of Options Outstanding, Canceled",
        "verboseLabel": "Number of common stock shares canceled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Number of Options Outstanding, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted Average Grant Date Fair Value per Option, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r311",
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Number of Options Outstanding, Ending Balance",
        "periodStartLabel": "Number of Options Outstanding, Beginning Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r310"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted Average Exercise Price, Ending Balance",
        "periodStartLabel": "Weighted Average Exercise Price, Beginning Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum number of shares that may be issued in accordance with the plan as a proportion of outstanding capital stock.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Percentage of Outstanding Stock Maximum",
        "terseLabel": "Percentage of number of shares of common stock outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r305",
      "r308"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Award Type"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfOutstandingRestrictedStockUnitsAwardsActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price, Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price, Canceled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance, Shares",
        "periodStartLabel": "Beginning balance, Shares"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r88",
      "r94"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r2",
      "r40",
      "r55",
      "r56",
      "r57",
      "r95",
      "r96",
      "r97",
      "r100",
      "r108",
      "r110",
      "r128",
      "r172",
      "r251",
      "r258",
      "r331",
      "r332",
      "r333",
      "r343",
      "r344",
      "r400",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r503",
      "r504",
      "r505",
      "r541"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r95",
      "r96",
      "r97",
      "r128",
      "r464"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "auth_ref": [
      "r20",
      "r21",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions.",
        "label": "Stock Issued During Period, Shares, Acquisitions",
        "terseLabel": "Issuance of common stock for acquisition, Shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "auth_ref": [
      "r20",
      "r21",
      "r251",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "terseLabel": "Issuance of common stock from ESPP purchase, Shares",
        "verboseLabel": "Shares issued under ESPP"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r20",
      "r21",
      "r251",
      "r258",
      "r312"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Number of Options Outstanding, Exercised",
        "terseLabel": "Exercise of stock options, Shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "auth_ref": [
      "r40",
      "r251",
      "r258"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued pursuant to acquisitions during the period.",
        "label": "Stock Issued During Period, Value, Acquisitions",
        "terseLabel": "Issuance of common stock for acquisition"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r40",
      "r251",
      "r258"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Exercise of stock options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount remaining of a stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount",
        "terseLabel": "Amount authorized to repurchase remaining available common stock"
       }
      }
     },
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r20",
      "r21",
      "r251",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Stock Repurchased During Period, Shares",
        "negatedLabel": "Repurchase of common stock, Shares",
        "terseLabel": "Repurchase of common stock"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r20",
      "r21",
      "r251",
      "r258"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Stock Repurchased During Period, Value",
        "negatedLabel": "Repurchase of common stock",
        "terseLabel": "Repurchase of common stock amount"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r21",
      "r26",
      "r27",
      "r92",
      "r162",
      "r165",
      "r414",
      "r447"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r90",
      "r236",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r250",
      "r258",
      "r260"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Capital Stock",
        "verboseLabel": "Stock Repurchase Program"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgram"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.",
        "label": "Subsequent Event [Line Items]"
       }
      }
     },
     "localname": "SubsequentEventLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r431",
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.",
        "label": "Subsequent Event [Table]"
       }
      }
     },
     "localname": "SubsequentEventTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r448",
      "r451"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEvents1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "auth_ref": [
      "r43"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.",
        "label": "Supplemental Balance Sheet Disclosures [Text Block]",
        "terseLabel": "Details of Certain Condensed Consolidated Balance Sheet Accounts"
       }
      }
     },
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental cash flow disclosures:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trade Names [Member]",
        "terseLabel": "Tradename"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsSummaryOfPurchasePriceAllocationAsOfAcquisitionDateDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockAcquiredAverageCostPerShare": {
     "auth_ref": [
      "r259"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased.",
        "label": "Treasury Stock Acquired, Average Cost Per Share",
        "terseLabel": "Average price per share"
       }
      }
     },
     "localname": "TreasuryStockAcquiredAverageCostPerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureStockRepurchaseProgramAdditionalInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [
      "r0",
      "r1",
      "r2",
      "r3",
      "r4",
      "r99",
      "r100",
      "r101",
      "r102",
      "r111",
      "r163",
      "r164",
      "r169",
      "r170",
      "r171",
      "r172",
      "r173",
      "r174",
      "r214",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r341",
      "r342",
      "r343",
      "r344",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r415",
      "r416",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r436",
      "r466",
      "r467",
      "r468",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment to accounting standards.",
        "label": "Accounting Standards Update [Domain]"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureBusinessAcquisitionsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfArrangementAxis": {
     "auth_ref": [
      "r375"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]"
       }
      }
     },
     "localname": "TypeOfArrangementAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r131",
      "r132",
      "r134",
      "r135",
      "r139",
      "r140",
      "r141"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r113",
      "r121"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Weighted average shares used in computing adjusted net income per share, diluted",
        "totalLabel": "Weighted-average shares outstanding, diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r112",
      "r121"
     ],
     "calculation": {
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Weighted average shares used in computing adjusted net income per share, basic",
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "verboseLabel": "Weighted-average shares outstanding, basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails",
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]",
        "terseLabel": "Denominator:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.shotspotter.com/20220331/taxonomy/role/Role_DisclosureNetIncomePerShareSummaryOfComputationOfBasicAndDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 7
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1707-109256"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1757-109256"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1500-109256"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6787-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124402435&loc=SL124402458-218513"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124402435&loc=SL124402458-218513"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL120254519-210437"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL120320025-210437"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL120320025-210437"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/subtopic&trid=2144439"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=123351718&loc=d3e2443-110228"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S65",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359872&loc=SL124427846-239511"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(CFRR 211.02)",
   "Topic": "480",
   "URI": "http://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21553-112644"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496180-112644"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21475-112644"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21484-112644"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21488-112644"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21506-112644"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21521-112644"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21538-112644"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130533-203044"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e845-128460"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e848-128460"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6405-128476"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "b",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "808",
   "URI": "http://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569616-111683"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569643-111683"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "http://asc.fasb.org/topic&trid=2197479"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.28,29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121483254&loc=SL120254523-199619"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(2)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(3)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(2)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(2)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL6742756-110258"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL120254526-165497"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL120254526-165497"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL120254526-165497"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL122642865-165497"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL122642865-165497"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "210",
   "URI": "http://asc.fasb.org/topic&trid=2122208"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123341672&loc=SL120154346-209984"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "http://asc.fasb.org/extlink&oid=122150657&loc=SL122150809-237846"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "http://asc.fasb.org/topic&trid=2122745"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=123371682&loc=d3e55415-109406"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123345438&loc=d3e61044-112788"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07.1(c))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=123364037&loc=d3e3115-115594"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r530": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r531": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r532": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r533": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r534": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r535": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r536": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "848"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "848"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Topic": "848"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "http://asc.fasb.org/topic&trid=2122149"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(4))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1(e))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3000-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>74
<FILENAME>0000950170-22-010133-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000950170-22-010133-xbrl.zip
M4$L#!!0    ( $:+L%2M\W/$8C$" .:Y(0 1    <W-T:2TR,#(R,#,S,2YH
M=&WLO>MV&SF2+OK[S%/D<5]VU3J"C/M%KJJ]5++=X[5=MMMR34_O/UZX6ME%
MD>I,TK;FZ0^0)&7)DBQ92HI($C73MB4F,Q,1@>^+" 0"/_WOS\>CZJ-OVGHR
M_OD1VH6/*C^V$U>//_S\:/_PX,6+1__[EY_^7P"JI\]?O*I>^4_5OIW6'_W3
MNK6C23MK?/7#X6\_5B_&HWKLJ__^]>W+ZNG$SH[]>%J!ZF@Z/=E[_/C3IT^[
M+M3C=C*:3>.CVET[.7Y< 3"_]T'C=?IU]51/?;6'(<8 ,H#X.R3VXO\3N,NI
M8/\?A'L0?OG6Y.2TJ3\<3:L?[(]5^E)\\GCL1Z/3ZGD]UF-;ZU%UN'SD3GQ'
MNUOMCT;5V_2MMGKK6]]\]&XWW?(_?CJ:1EE$>8S;GQ^=>^]/9'?2?'B,E%*/
M/Z=K'LTOVOMLFI&KSZY-/W978@CYX_F'%RZ=7GDIFU\Z/7]I?>$%SE]-'D<A
M3N/0_/+Z*/8_OG%Y^MCH]NSRSY>NOS"^].GRTOKS=?=%Z362OI.ZEY>/)^-7
M4>U-;:_^FILVCZ>G)_YQO!",YU=^>=3TZB]]><SC::/';9@TQYVII+=@ &*
M^;F;@-9??'K\>??#Y..-]Y& H#,1M?55 HKB1(__^[>7A_;('VOPM1Z<_\H4
MEH^.'\3O8O1ONKQTUH(/6I^<71YT:[I'+#[H+@<0G7NGNIU0C,2W[&)^Q?(+
M;3N].(KV:#)M3R;3J6^ZR9?F"R1?GA#5 Y)ZVANT%[\'T[OALV_:R6P\;4ZO
M'OWBPVY(9^_63"^//?[RBG'/ILVU8U:/XZ>/?OF/ZJ<CKUW\N_II6D]'_A<$
MP=]_>CS_=_KML9_J#HF __>L_OCSHX/)>!KQ";R+ WI4V?E//S^:^L_3Q_,9
M_CC=]O'BOC^9B3OM[N3JCU4[/1WYGQ^YNCT9Z=-D]O[)HU]^JC_OI<M],_]G
M[9P?=__\,B^JVOW\Z/E[@BRSWC,@$"& >N:!4H$"$AR2Q$*E=325L3Z.3UE8
MQ-Y;_]&/9_YMM+QZ','YC6\Z$XX&^-J,Z@^=+3_[?.+MU+MW]7&\Y'4XC+]M
M@[;IL_B%>N+08K2?IV]]B')XSXVQUF@(+)'Q79QR0#K!@&=&8Q8HXM@]^N4-
M^N=/CR\,93FRY\W\]HNAV:"T)!H!KU&\G?4"**8YH$AA3H)VREX:VIO&!]\T
MWAU.)_:/_]*CF?_Z+:55UA/G(B/P "CG&D@<"4(0Y+"B'$$5OS,;U_,O_/[^
M]\.GT8+:>F]<CZ)>FWC+7Y8C6+[RU<JAT&)K" 0$QI>GQF,@A1& J_@@K!7B
M3"U'$&?VWI+KGD<^U*.YE)_'W[5?CT$1!(WB'&@CXA@<AT!+Y@!#UL5100*-
M?/3+W]$U@K[XEH9H@9"6 %&* =6,11."!B"%$'$6$A_"^;?<CZ_HNM<<Z0]W
M>[.@1ZV_U<M9@8R#S@ AK8TB5 Q(0A1@7!@HG*'*AX>R;Q:GE%7:@2@B$\<F
MX[M$V0!D%,&<.J@IO=92OFWK7DI$XY0%B!@8;ZU%FCH^_:BU@EC%>74'6Q<&
MV<"=!81$=J/>&&!@%*'05"K%"!>"]63K&*IH[1&#XET9H P+8$)TO3A&!D8#
M"U@]F**L9=KK $%P6@.JL -&,@%$?$GA+$+4XF\!T<61<0%9L'%6>*YH!(P(
M'=JC.#P=- [0!<_8^?EQ,(M*64[B?WK=/!N[Y(O>;:H @'#DL-M-%DV9%=8
M3*,?0I$/0.G(")@ZHBC41G/S4#KPSOH0YRM R,DXN@A[,B(L($Q0RS@D1MFH
M _7;[28(MMQXZBA0&"% I8YS+Z0;>\@X8UP)@[\>VL'D^+B>)J1J]\<N\71\
M^1B1U/X2H#X@*1"&74)5X(5W$='B4PQU(C)VG*HXQ)E*W'ES>A9?>WIZ$$?1
MZ-&+L?.?_X\_O9LMP>AU$H8XX;<3NJ$!,2=<G$<1<JEC--XUPD<PT@3AH_%K
M> ^AKPB='E]TF3J4C"_@VU]^2A')7MOYW/&651>A["5/].=';7U\,DH.>/>[
MHR8],?F]8.G;[GYN77K<Q7O,'W?^&=V/[636=#]U$=C>8MR=6 _>:P2YEM@
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
M)Q_&'6<_;R;'K_RG7^M.Q^WK\'1QJ.9B+F\D1W@6)(.1(YA*)RRHR/(F.E[
M>6\8D9J$4%9HAC-CG8 V>LJ1CAA)A_=P!I0,'C#$B%="4HFRBXC*"@W$Y/;6
M0GJ,GZF((1=%P 68CAI.);T>ZH@ C&AEM&%XZ,5CJ\\89P#B/,;+.FH,()$.
M^\4TZA%S"#R6VE(I)379ZG%MQ^3DT2ZFIW9BPV0K&XP57J;5P]2S@D,:XP47
ML9!H[Y"GNCL8.EN['99_N1X5&^PAM\(!A=-9\-!JH#510%F$-#9$,[WR:O*U
MK<@*G?+0E@&C1>H8"C$P1!K@&24.$J&<S#8>WG?_BE;=50U&7RC:[:)-5<IE
M-)-Q_*>=UQ1>K(9<7!+9>>QTX]K?3UPTG216*(=2=!BBQXQ5VADI3%HA"@Q(
M8B$0)$"$!88NOT."-^K0MQ4X#UO29 T*H3DF$6D]-/$/IX!DS@(A.5=6&0-=
M=OM&;[E)[__N;Q@U4FT)XSP%<T+%6#TBC(I"!58[[XQB"L$A]5C<(*]]F/:D
MK G8>PRDHNE,%X& X9@#KJ1!J3P7Y]NS,^-=_7WV7>#I0.'H_3*GDG<1((@_
MI8B=*8LM#(1G>_S7 "IBU]2=*Z1IE_KA!)OZJP4.I! &8"PH5QQQ$8:^7_:!
MDVAK:DIMN2-46("=$8"F)K5&QJGO#=16^<",RN%XDHLA#P4$]H%,6B@5(QL!
MI(,^#MX1H*120" .L25.2Y6M$=^I#]B[)GI9J?YJ, U> [+>$.4 )3P=/Y4:
MO!*>F@*&0%CPT.;;M.?;Q6[[Y^O=CD]&DU/ON[XP;V:-/=+MBJK>5G1*C)#*
MZ @>/C@9=14GD8(. N@\USJZ^B9DF_/Y]I+82^]=^_+EP0JVLZYLG^^]73_4
M$\ ZY8D@A #I79S"(;AY$SU&?."4$4U==ANRUW_0WWJ2*!2&=%!9UTDC!N9(
MIYH(3P''PD3-:>CR[53?ZZKV:BDX>9NSJ6^6-1I??7,H=;+>61]H-!2$$N G
MYU$2Y !A@EK&(5G;(M;&55EV#N_65UE2P36BT "H0W0$&:% 4T&B;)RBE&B6
M<:?_NZV:_NH_U..DWZ]63!?-.38R'$W;D8B)X2BB-G5F=GSN[C.M8=JT!"7/
M-IOW;1+:_Q_]T>L7XP<X(Q[?7F\88-E+.D@J)'E0P(94 QUD -HJ":PDEC#G
MI!S4R7HEJ[_NVBX5F$DM_PDVJ8: J72.,0;<&D^X])+X;)W1C+/Z/?*QMIQZ
MC674$(DS7D4JUMYSP"G'CB.M67Z-48?0@F\U:S ."V'CW 'I$.6HK1B-2\<<
MX)(P98-/L)VKM@84W#U<?K6O.,XYC:TG$$A)+:"DZZ2)".#":(\A3<F 7 TC
MAY;;&7 EL1@J+ TP"J93C=-:N"8D)6XTLXBG#6BYJC"OKH>9[6CN!_HY#ZE)
MD04PG99!,45 2^OCCPXZBS7G^;KF69E'UHTHOXH!$7SXOA0DM5U/2\DV^H:
MNN@62LDP<)H3##U2(62W=;X<V+4Z#"/]N:^$R< B4@$24EI(*0E,$ X8*UA:
MI4=>9$=QZR_P7(\[@F/D%QC30#$;^2:&%L @9H'T%@?%HZ,BLUVQ+WQSAWG>
M8\>X@*'&-$8CT6E%@%(3;8=0"I2V"B*.+%?944AV566KR2!P8ZPU&@)+9.HZ
MI5(&03#@F=&8!8HX7I,;N7$+?F?;HK=ZP0\&9IQ! AB6#F!44 !-*0<2V\"0
M<U:(LKUWHS=$#7,)$SD>XVOI 2(^M5N,\;8B4H% I+%46X/RW?[8>T9M,''+
M%8[S0Q\;H 5-QP9@8&@ZLCQMGE62H=3A44,+;?PO6\#+(16[HO[2CJ+@M ?2
M>ICVK$@@N8^AIT:.&DR5Q3D4R&?0EY2G$]M#H(#X(!+PQ2 =NVC$0J2C>0WA
M-%O@V^P:@'[<AM7WXUA/PH(QIAQQ GBJ4^%K6@QCW89")*4-QG.<7:W!57G+
M&!KTD+=<VMK+2=NFNK482\2)4/OVU]-7>CIK_.OPY=>GY\TD8GZ\B9Y.FM.G
M^EA_>(!F8R@%N+>$N?.7WL=<@M0F6)%JTEQ(?1(D4,XHP EBF#IOH,VV$/%6
MVQG?^M:GA-=^%-*7!G*;O)D1,BZ@,)&J;&H9BQD$QJC(BQ)Y91@R--]SI[/<
M9)0!JON@-)8X[4@-Z>P"FL[A2<T&'&:6&J8)SF[)H*2A!VAH5'J!:+P=ANEH
M#)4"..49D(A*& B",,]ESXU)$ZW R7_POCGKB=BH\!1AJP"FJ1,FLPQHK 5
ME!*G$9=(9YMQR)[WTD$O[-8'O<1+^]%I"-!K$97(TVD2J<<&,-(ZH*$TT&C%
MG,[V/*SLW=/U,(RTRGKB'$"<QXB#<PTDC@8C"')848[@ZML4K&U)./(GTVE;
M*NR6A#TQ0$62!<X1'BU:"B*RH]<[Q]!O9FG[UT>_T?$SE-S+Y([KD.)G%$ ,
MF=,.1T*\8MIXE>VA8CEO',@ J+#PD#$L8\SE4W\G(X'A-)*;%8PZ*34SV672
M<C^9:DUNA-8H0JNQ(!)/:JG(4CXT;>@C1'!/@@\FN_#YSDG18<XVI:-NTKG4
ME'$'J!0&Z.0E6$.1=-($2K-EQNR]]S4="&<IM]PY#V20/+IZT@*EB <"&4FP
M%![E5^B:\1+^@V_%44JK8#U0AFE C8I34J:R9>&8D(:KR(*YJF^(30K6M&!(
M70RR93H(/)W:J"0#1A (&*0.2D)H\-GMF;OA]*##F6EM4Y\DM?ZFZSC:<5)?
M N+9R<FDV>SS@S"#G*-  (>IF8WQ!*BTO4#BX"Q'5FB7;>5"9@=5KV=&!JY(
M2!L?@PTQ\& P[6?E'C@"I28>0I4O;>;6+F M\S'E/3I=_O[^]\.GD]%(-X='
MNOF2UG+UQRCL\Y>_FD6"2M4&RU\>SY><?JG;"<5([,4;+9^V_&CY\Y7?3[]\
MZL>3XWI\U6T7$DAOU7[KOA=N\?CBVY^[[(J1G\S.#?CB8]-'WWKH%7>;O^DU
M][MY&%?<,9%$[6K=G%ZZZQF)S#__SAL?1&.\^I;ID^^]V<)WN>:&BT^_\Z;1
MEB[=[Y9V%G^H/^]%:4]B\.+;^8]'7KMN?D;+^.4_JNJGDZJ=GHXB^*19 >IQ
M I8]N O_\B3$F0+:^G_\'HH_GTR?'.LF^EQ@.CG9F_]B%-UN<.3K#T?3/;2+
MV/PK01_7H].]=Q%QVNJ5_U2]G1SK\?+;9C*-<EC<H'NF'M4?QGLC'Z9/XE#;
M$SU>OM*GHWKJ0?R-]7LGC0>?&GUR^;6^^=#XQ$^UFQ[MA7H*NKD_3H_YZY\0
MAT]^>IR>%H5Q<H,H3G0$P?&'Y<NC+\]=K7S,I(G:6OX.[T9_X61:N<G,C/Q-
MPC/:_O&AF<S&,3"?C";-7O/!Z!_@3O=_/SZY]#OTXY/KY?UI/HAQVOPQ.C_R
M.VL PEM+?_V&F+LL$5V9,"&YES13NM(W#R%/,QFY\Z/C=Q;G[Z]>O'OVM#I\
MM__NV6$1;'^"/7QV\/O;%^]>/#NL]E\]K9[]]\%_[K_ZV[/JX/5OO[TX/'SQ
M^E61]M?2OCLJ_&/_\#]?O/K;N]>O=JJG!Q6&C*KKY+L8?L*^/<)VD11_>7)_
M%B0]*>(B#<+=&&9%&FPGH]HMKV^ZVW>OSOYRL^9N\"S(0SD6WY(>WR0SOCMH
M/'_]]K=J*=#SK_U==X]#CM[O>#+NHJ_:=N[U\_><"QL#> .TIAQ0*"DP6G)@
M*-,0>6D0=(^J1<SXUH=N^8.@U*^: VU$2,?X0J E<X AZS@/D$ C'U5CG2)Z
MY^N]IQ,[2T%P*CP;E.01!'\_L^0+TONEX,AP<&0%=/A0/O+7MGSW@.^'WW3S
M1_5Z['^\C4P!W154?;'4SI[I+B,D"U%_ET2N03YKHT, E0(.^W0$#8W(YV%(
M6P^,8U:Q"(!](=_?9[J)DV=T^M:GE/ZCJFLB,/WY41V'V7H;]3P9&3T:3:9F
M\GE0=O77/RE!^9,;8'(XXZGB?VMZ:W7GE_[[[_MOWSU[^_*?U=MG;UZ_?5>]
M^?WMX>_[K]Y5[UY7,>AX%R.+"I'J]=L*L1_<C]7KY]6[_WQ6G8M'SF*1_8-W
MZ6.D2#\Q]49Y<7>WJ^>3IIH>^>K?2RBHYGGYRD<YNIO\NSNCG*"6J.Z,<\PI
MH,@08)@6P!(DN)286LWZ0KDWW8">S9<?+F#<GDLK+?$A1TZ?GGK=^/&@E/=;
M*GNN"-I9F9XP5QX)Q=/)N23J"3)@##9 <&(UE-ICUYL?_KQNK1[],ZKA>?Q-
M.RA-I-7+FUSRVWGJ!<2^7_JOWZ[2>>PKRGD(Y]%P*B410$#B /6:  WC_%/4
M(88(-XR$WL+F1H_G15T;ZCW2XCVNU7M\]W;_U>&+SD<L[F.FAK5T'Z=G8+#T
M'T,S.:XN_C>=]"+Z%>#Q$$6?6B?5;2H=JI[7(U]%=#*^V5N9*^@LXTX1#*Q&
MT64/3*>#@1F05#,3C/70Z?MRR[.N#"D-9SZ:02D$I@[M$D%1<K.#S\T^&,9\
M>0E,[QRD&8I#_ -(Z#R@@FB@L8C3DUJF*<$,N7L'T_.9^=9_Z ZS'T_37HV'
MGYVWD-&U:]Q'D^GA2=2-;W:J%V.[N\JX;*-6NN^1W'_V6=MIE6REFH3JB_54
MNJT.3[Q-E;*NJL=5/6VK@Z,N!77M0L##X>2]*\*V!2:S*#>\^T+JE9*8INX>
M5]F<GDTG2SVGEXEFM@>?=)>#D3Z=S*;Q]I^]>S)_%(*=^!9?L*F$^:3U>ZT_
MT8V>^HM6T=W[47I^?(%F^?2/=5N;>A2!=V_Y_<5%\2IW)I[N<:Q[6I3<XZF[
M[27Q'\W7SUSJ<:Z9RT^[ 7$^Q>$"TWC]QU[W)TB_>/+1-]-TTL%"R7/EG\W5
MN0CB Q&LQU<9PW7&>8=B3[A2#K^[=RTM"Y@YG!JIH\CA1@"E4.1C!A$Q4CF$
M>N+PM#^D.9G,]W%U>PT.YB=/'$R<OYS$:=,5)\WD8[K/P/+C3_U(IR.U;Z;Z
M*V=-,?65F+KVPAL<%$ 2IC4%@H#1W (4'/-"8QTMN1]3?Z<_OUALR)EO@AI@
M5)FZ)2@:L8!]AQ5_ ]CET'!=KLO6'\ NY-U=ZPZYJTE335)#D>I?LZ9N7=T=
M[A!][?-&L38I"S9X,=?GR;*3=O-!C^O_Z7[^<; $4N;4E7/JQ>[;W</=:M%A
MHOG)--7C7RXR2/5JLGNEWHLOG8V#09'%Q(M(G(YK0"%/V_$Q C(8Z;!GD'#<
MCX.Q[UR3&ES,_WH9I8,&Y5P012"L#NJ/478'G3ZJI\U-F;'A#&]U=3$!<8$0
MU< :*0#%$@/C# ;:&B<YXUS#GL*URR:&!V5BA[/XJ(J<VU9XO?NZ!=@$':6*
MI.995J0S48T!QDL/G.$P6$Z4NW]Y[P7#21NF7S?O)I^&%;H_;[K"O )%-UJ4
MQR@$#R6P#,5PFH6T+JL9$%X3R+ T I%>+:J+/%XW;YK)Q^@>;UC*Z" "0!S/
MN-8E:903;GK(/6.. T4(!%09!92.A"NX-5PK1B7KUZ=[,XEF//J_]4F7%AV2
M"2O*B"S)HA+8?@EL%S:=%F%/F@C:]8D>5?ZSM[/4LS3^.J167B6?L6%JC^A5
M)?CZ9L(B_IV6,'NNA;S?*O 0BQV^5#?\]4^?,43J25M-_<B?'$W&OAIW*P\[
M59Q\HUFR_$K'*1()R_F]ZH>5;;/QS!B9NBX;$GU#'RPP,#79)C @B()AZM[;
M-U* L1_',CB>9.BFF'0X8_EQ9>&%Y#Y03RU@4F) !?) <J>!1IQX9'S0WMS7
MA%*/PM&;-$\&N$ G% 7I4)]LJSZ_"XKYO:N9_C5KIW4XS;"<B>]R+AZ:RJX1
MQ\-TKKI'VBX=T55/ZWAQTQ&;;[RK3F9-.TOU>]-)%:_H%D00_L'\F#S+M ]@
MWT[W,JTLNYM=]MW+;J#5983LDK1/[IOU97>]Z!L!J+HN )V/>VXIY]"INCAE
M;IAEB[LL8Y#K[W-U9+/X>J>^;WW[Z@CH&QC[U??O&A6I38J*+H';/3:6U=-1
M5Y#LM3VJ[$BW[8V1;P[V5NPH,SMJ=!?)'9X>1W?RAUOD3XH5%2OZVHJ6NR,Z
M,/*?[5$ZL*:*CE5\B?B;+][73;G;[TW7%?9;C;W=X%'>W5(N.91W2=(6]"C:
M+-I\0&W>);K9:N#.8:'Z9D.X)EVJK/""")N._ Z >J>!8@("ACWFUCE/Y;W7
MJ1>YF5.$31?*#,O?27T+)NEE)_:/G>I$-]7'=#Y\]>>H),A2^XBJ.XQB-?47
M P7,0<\)JSQ32$7[[N8$2_6X6$L I0G>RN#3 :_WG!.+6&P>B@UK0AP>OGM1
MC#T+8\_<4MX=^1O6^>X\1Z4RF%%O@:72 9I:;TL++6 P$,.$HPJJOGCKV2+(
M[7I(7*H>3"'P@Q4.]AK'MT[_>\TKRCV.9^[1+DX5JU*;9C^]5QW)+5KM;=;R
MV]UE_V+LTGXC7YG3RAYY^T=UG-ID?SKRW6:_M-+6?&FF\0/ZL3K2;17JD7>5
M'HWBAZDC7UJZ^_>L3@MWTTEE_.*">,^SM3N2]K3-FZ<M5O#.+?PMYVE:U4L?
MI^9IE8N?CC]TET8I6-]E0!&NNC:J;?5#O%^<T54[LT?1CYNDCA[+EF#3(SW]
M^MT_Z8MOF5YQ_N7%&'[<J?3853_@^1A-Q(7XN?E7'$&ZOKLT?BF]Q>(^J3EA
MV[U$]Y*ZG58*5DZ?MKO5=8WP>D!0QQQE3G#@+87SQMW:"A>='J@8E-18*?JI
M4#V8-4T<X[SM8G)ZIGKZ(/U2>[3P?_IV<Z"RJA;MQI-YO9HL?J2W*DHHJ+@B
M5$QH$8'BN)Y.([3X402,9C)._NSHM/+1MSVM7B0?4-NN!O:IGNIY([VO0//+
M/<Y7/[R=Q2MIC%?G?8UFH_GNT$/PKOHA,:=X4F&"=Q=73(_J-KZR/DG]C58-
MH?,7/D-&W_ZXNT+8PTX[0Y"(T5P*[B2/L.<1!Q(RBACT3+J>MI^<TU92U@(%
MAV7"&PU[!?76CWH19W0UBG+PE;8VHEZJ!G(=#C3)D[KRMU6T0W#%!VT<0_S'
MPA5+*&4GQU%RISO);8PWB[Y6DOB'*LKOT_1H^?%N]")]]V;.AWI^-GRW^6!>
M&6V?7/>"\\_=D[,+;W')]2]Y=FER()>77_/*9]?6XSFV(VP 7CK%YSWAW4SK
MVTKGM#O6MF&T2V\H6H.['.*;NJOA74YOJGY#NU#=<$E\'<;8S?>!XL9K!+QU
MH5VT4'F7M:AEA?+"IKM=/+?*)L8O7+,)**-%Q+6=.7MWNGAY-;3>,Y.\?6I>
MMQZ7_OH2:8O>-F)Z7O:1BUK+=-Q<O64^'?<+3Y:)N95ZRWQB?H,G^R^H6Z/V
M+V<&\(.HOX?,+V6:,BPM\-CBM+D\G=:-"$"6F. (%E+U>"!,<Q!!^L.D.;VB
M8J"[J(-ON[AH<,4#5R7@5E,4E!/4/8RMKUNYFT=1#Z.WS.?L5T=,9V5Q50&)
M A);H;?,0>+PNM6I,D'+!"VAQBU##>:D)<P2P"%6@&KM@%+8 J&98!!Y)"#M
M)]3HYNNOLS;*I&W7?Z3QZMR5^S6&'%Z@7>CI*J-X=G4U1"&G?@LMUKQ+N)#.
M74B',Q&(<!)(:"V@4GH0^0-%^E%(2Y>VK?74<G@Y"__63<*#^1S<<O(9AGD7
MN"GZ*/HH^BCZZ%<?_XA#3,-L[]%PX_Z-K3>Q2/>NY?C]RV*@Y?CA&X7OJ;_W
ME=7Z=;AJ>U*W*<F[:CSI]A3-VGG1?!21CWIQ5;JR[:KGE_M_TKZ@]*S1:7KX
MISH^.CZV&L?7GJ0DX\>Z[58/QWIL:SU*=:#I<-]T<3O58Z<;UU;I:);:7=?.
ME?R@?[RR[GU5.XBH,E9RJX#U.K6'$!BD\SR @4H$0RUW^-X=IA=^]N=W9Q)]
MTPET.YWLLBVG!QSX_FTY[9$?C9904?T0 :#;'A,GXHV;3N9;^/X9WVQ5L]!*
M*^)_!"!,>(QVF0&:8P*L(X@I 8G6MJ<4:Q+#Q@:Y]*;Y-Z !7=C.S,O&OIYK
M3[LM<?LG33VJ"-RI,,3XLI?@[CWA,Q?# HV>=UM[HP.RZ*9 ()*$2R @QX!B
M0H 2V '-3$ ""\3-I4/B4705"!468&=$ZL# @)$( V^@MLH'9M15W12Z?F2'
MJ1W98>H[UKZ>33M?*3I-CZK9N)[?_O?W75>R]E$$;5O'P;<_/WKQZOD% -L;
MSX[=9+JXX-$O".\@BG8X@4LP6(YRD&@P%T R6GNAA]NR<]M9*[>S'FX[U>2+
M,&^_<?*[C[WH*3BYV-H*[V(6?UNYR2R&D?>,XA[B?(LUQ+-WZK+9]YD*11CG
MA'%TME1[HC_X>4H)Z!!?;$^//NG3]LFCZG%68KO#;-HN"\K[_*-WW:[O2 H'
M\U^UF<HV S,;Z 9YN2O939O-)=IE\J;=[VJ7\=MN2/^^HT<Q8SO+_Z&K,^P7
M3X*2+-[]5DGWX]JY2/\WY]W/*W3Q@#6?6;FZ,KJ['TIYKS*Z6ZBY7YT6!>:I
MP&MZT<X=]JMZT9;S9E=_WNR;Z'!^9QWA@F%[A/F'F_\/T:;XH4H*^W,'W^R_
M?5>]V+W;$OG6ZE=71TW*,OTI>G#3]_7[LQ6\]_5XGF"J)_?;TK@0Z6V9HGM'
MY^VDZ1Z]%Y_BFS3R?JSD^8M7^Z\.7NR_K%Z\>O[Z[6_[[UZ\?G5F,WI==G/;
MP\F_@',VEM2]ZQKCFX+VPT'[/@^*?3'UQQ7*&>^OFB39J/S<TM49!T3M';]'
M[Z.,XVNUWJ5_=3YMVAI^CAHVB \.EF--6:2SL5;/SPI94H_K>6?OPA)]LT3N
M$(/73C.YY8[6149K-X4LD@^;Q3;7T(S1HPB]_GU[Y/WT?H<+#()J?IV/MSKL
MQGN+I@[?.:I>S;^07R&_0GZ%_ KYK8;\VK-HX_WD)+7DVGS^^Q)@I;7\U]VH
M4]O^PCC;QCBD,$YAG,(X:V.<M$&DN=^AS@-DG(-NU$?QNG0:UXMQE(*O?G@Y
M:=L?"P5M&P710D&94- Z5A +M:R*6M(I@=/3;:.6;F_/T604G]S.S_E23ZIG
MG2@*M6P;M;!"+9E0R]I-H40WZXAN='OT/FP;!1W$45?/1Y-/)9^V=8S#"^,4
MQBF,LR+&&4^FOGT_G=Q4+K=!C/,J#3GU;"I5<X5VKK42L7;:*<79Z[:!KC@;
ME^+L'ODF?DU_6,0RKF[MK&TCQ+^/OQV=MG6[B7SSV]F0E]FSMGIZ-O1*CUVU
MOQA^BG6^T$_BIWG[PG3-6]_.1J6\8-MY":T_'BK$M&XCZ(B)%&+J>]<0V2#:
M^?LL#C8&,*D>(/''WU.KVN4O$O^,)NTL-23;-Y/9M/I--W_X:?6V;O\HI+)M
MI()+M%-(I2,5NF92N;Y'_S 9A:9TVK29C-KW)\W$>I<@=X-8YF QNHYBWIR-
ML%!(H9!"(8.@D+Y[UV3=O&9P))(:VM3U^TGJBG^^F<TF<<CK=__Y[&WI9%,Z
MV13L'WKX@/8+^O?>RD:_;^KVC_=!V^FD:=^C#8+^E&ZJGL\'5E!_ZV(&67BC
M\,;%1?8L"\X*F?5%9OC];#P_H,<WWKW'&\1EOY\;6'6H1_.S7N8;9=+Y@+.F
MGM9^GBG[O>UZ_G<),^\*]6T=];&2+BO4UU$?+Q%3WR3#W_O/1[6I-ZKQVK/%
MD I7%*[X;JZ(8TAW^/D1?I0!JN1D$9=:R"^@XWUZI_N=H)HE?E0OTK@*B&P=
MB-P_UU) Y-8@TL;?ZNF&U7H<G@VJP,?6P8?Z%GS$O]-A>^7 PEN<W0C0KH+X
MRRF]W:Y?M"NY*!(J$BIGJ_:[6Z8<[[MY)MB=<;^RD[[6=.);M3C3ZZ%.MN]O
M -><0G8?VT%X1?.H,YT'.2#HH;6P.$BJ^G\N=S48GDG=W(<A,^L:XLGCAT>3
MZ>%)')!O=E+'V-U>A,M7"_NK/V[EH=5P11>2X4W8ZX^ R=2'&))P?W@QKJ9'
MDUFKQZ[=J?QGZ],QS4>ZF>_L//'-XJ<X&?2/7TF^B\ROZC35G6R_. (ZC2.&
M6GOP27<Y&.G3R6P:W^.S=T_F[X1@IZ[%%^SBU/N]UD=/+,[!I>#GF9CNWH^^
MSBQ^K-O:U*-Z>KJW_/X5"]KSQW&R2_#%X^XO7X1V.60W7D/HC?>ANU3>=",8
MHU*4]PM](YTKOZM\X,STOR<9=T74DO=QX#?$47<_ROL^S9GO)/J,1'V'@'5E
M@K[UBL7W"7VQ+K& PC-!, @3+B<*KRZ2Q>!FQ@,0XMV5_IMN[%%%T,Y#3+#;
MZOK\PD9:AQB@TC< #K][9F:DE *<!3A7"YQ/O?7')D8+!3LW #N+LY^[AHJS
M7SAK #,C:\["$%]YAF_AJFU&PH6V,A+U()'PJVJ\@H>#P$/4RX:A@HIKGZS%
M@\]=0\6#SY*W[N0L#,[>L^:A'WX?ZYF+3W,_/J##-S@=%LPJF%4X>HCV7D3_
MH"W^H-C!-.UXP]\;G.2TMVN(72CVV_9BO=[WQ)2;J[:U'=U^^^S-W84_P!V2
M:]-'T<'FZB GB1<0RDH=VS$!B@X>V-%=Z3I7<7&OV6,S:YKXKTK?P]7=2,7E
MSR_W31,65'OP5?DB_2'41!3(*4:_,49?I+_>?.UY";/N1G>%K/,[5-D7068&
M8MD[O+H]ZO8&V_0/_^]9_5&/OFJ@4#(L^8+@!@L\]ZGSYY*#N9F\ODO2N6O\
MI_ISO-_X>:-MZA[5]1EY_IYSYBR"%F +#: ^>*"0A8!1"ZT4T#/,'U7=73Y/
MWZ:NGP?OA4$V<&<!(1#'[Q@##%0,"$VE4HQP(=BC:JR/HPAG+?B@]<E>@NK]
ML4M_/?N"T_O3 ]TTI_7XPW_IT<P_JF;C>OZ4W]__?O@T>K#1C.)=R*/*>5M'
M6;0_/P+QIWD3K)\?U9^CD&;';C)=?/[H%[DC&?[I\<71_E( JC!"$?A6"3QW
M0"X47"@X4;"V%&IO*" !0D"=-D +'WG80"@D-G%4^&L*EE993YP#B/, *.<:
M2 PC!1/DL*(<0>771\&([7#""P?G2 DK6.,K:9&\8&;?VOART[9JO/5QGJ?.
M:%V6)%Z1YN)\@7"G&OMIR=AG[I\54><MZN)2Y>A2*8H5QT$"PP(!% <.-)'1
MI2(^8"4<"U#>)ZO1MM-Z;PFS;\]0-GE7"XSMRHT7!1F]^%0810^H+Y^JH$K>
MJ%)$742]>:(N7)DC5WJ/. O8 *<]!)0+!+11"#B%E=:28Z;#?=(/:^!*Q'<0
MH84K\T*54I:Q)?F'-XT_T;6K_.>3U/)_?A;\9'KDF\KV4*)<$H+#62/JOT5M
M4<V#JZ;X;3GZ;59R![ER@$&-H@_&$##>0B I\=11+QQ"?51N+-#\V1S,H]OV
M.B'Y?#MUKPF.'=I;?F.5T^)R$["<9L-60%<1>&Z3HM!X_JHI-)XCC6-N%2:0
M T*- Q1J!;02&@@HF->"885-']4?#T?C#/:5>BDTOF[H6G&UR.(>?:1KT#D9
M9J:XW('IW62J1[VD9DJN-.\5F"+JLMBUU=X6"X0S8A20AD1O*W .E.84X "%
M5))!'7I)FO3O5Y'H6/&RIK4=X%%$742]>:(NE)@C)>+ H5,> LB1!U1[#8Q3
M!GC!,#3*,<14'PF(%5 BW<&B4&)FX%'*/+8D;?"FF9Q$49]VY1VI^<;)<?S@
M'MM*RHK0<)8=BL#+WMWB/*4B#*28#M$1(A)0X3B0F@J A/18&$.#O]=&DR^K
M-W.L?3/2X^G^V#U;PNTKWU/)K-P14*Q_W28GH]X*7"D"+P+?;($7YLR1.1W%
MJ68Q (E8 )10#;2/+!@,15YZ2@QS_=0]K)HYQ0Z%JC!GCKA2FEUL?!;B=9S=
M>EJ//U0CKUM?=7@*)@',X@^EEB&#25A$/711%P\J1P]*0\X"Q!@03"V@3$.@
M!*- H.@*42TD#+"/W,,9PKY, /LVC>YU^+WUW8)./PLY.XJCLHZS%5A21%U$
MO7FB+@R9(T-Z"@.'$@.IG 941)J47$A@K [**V>9(WWD&%;/D'B'8%(8,B\L
M*94.6Y)C^-MDXC[5HU')Z64PZXK -TG@Q7'*T7%BT##!M0&2&1L=)QN TE "
M%02#TE')="^IA26P]N,CD1TD^DHC% P9#H84@1>!;[; "TOFR)(P"*D9@< Y
MY #%E *#/ 0L4ITS%FLI[]4Y<S4LN2-1!FV6<K+?7""D5"ML?";AQ7BJQQ_J
M[D2.KC:AG,*Q_GE71#UT41?_*$?_B&+IG+4:<.0,H-(KH+0/0!I./3:.4-W+
MYHCG=72+_,OZHW=?\'6^W;2O(D^L=C"&90%F*]"DB+J(>O-$73@R1XZ$3G*:
M4NO6.P@H80)(ZAGP%G$;H _:V3YR" _ D8B4#D7YH4DI4MB2U$+7S[4<K)'/
MS,ND[7-13;:J*2Y9CBX98THC[ ((01I *<? 2"< HX0ZSA'R[-)Y['?:5_&E
M ?>KR=CVVX-;9E (47IPYP]61>"Y38I"W/FKIA!WCL0M#0J"D0"8PPQ0JQ P
MP@?@H-(P&!L([:63Y>J(&^TH) MQ;PA8K?KPC/ZR+JBD7>ZJ_OGA&:71Q+WG
MVT&\F6GJ?!9,+J(@WL4LH:";S%+USK!<M=PGT9_S5&MQ\W)T\P3&WE,#@:!.
M .JE =H(!5@02CB&+0ZZOS,\^O'K4/3#>CL6;45F7YRZ4@BQ#:(NO%YXO?!Z
M?KQ.*"(<0PL4<PA0%!E>0QMYW6J"M T:]=.MHT=>%WB'%%K?!*Y969G,)CD!
MN>/*RUJ;>E1/ZWAU.I3D<#JQ?QQ-1G&&M/^K2IU_IZ=EA2V#V=8)/(HW??+S
M(_RH;)S-0!]%!YNK@YPD7D H*W5LQP0H.EC7DN4FP53N#O#B=,UJ],41+CG,
M]8/:K4EF6S9VY4DO1?J#DWY.LBZ0DXDB-MWHB_3+SL?B]7XQ@7UKX\M-V^I$
MGVHS\B6[DL'LVVJ!YSYC[K@NOUWYERU8<O<4!Q0L! 1R#VC@&,BT[AX\#!A;
MBI@PO932+1#ZS1R@#WK=ZTAI.7VS4$ 1^)8+/'<$+IQ;.#=QKD)&2FP4D!Q&
MSC6I?#W$?Z&@J9860\8OG:UPIS*WU7$NVF%2%,[-D0)*#^F-)Y*G/O@XEUW5
M^(]^//,[57LT::8@ OQQ2;UG[H 54><MZN(SY>@SR> H(8@!B @%U'L.E%$:
M(.](0,)8%%@?>8J#>(?TY'_4TZ.#61MUX)ME4?%IGQX4(3M2]G4,1\&4O#&E
MB+J(>O-$79@R1Z;DF&(KM 2&\G3D-6- >HQ!0,HSX@*RC/>177@PIL1\!Q-6
MF#(O3"FU%5N2;-BWMIEY5_G/)W[<+O;53;I6T[:O8N.2 AS.*E!I7[D!JBFN
M6XZN&Y2&*6H]4)HY0)U("0LM  DB2&6(DZB?OD9S2#^W67I_[+J>EN=^U<\Z
M$=Y1#*]_H:CTL\P?O8K <YL4A<GS5TUA\AR97"D7N'(&0(D-H!!S((/ 0"H?
MB//&2ME+$N;AF)SO<-G7\9>%R-<-7JMN3 U[2]R@<S+,3'&Y0].\,75O29J2
M.LU[.::(NJQ\;;73Q0SQA&,$F-,*4$L$T HJ@"62)D#/.41]I$_.N59]KG-1
MM8-[*ZHM")(W@A11%U%OGJ@++^;(BPH[3FU0D=FH Y0;"R2,?W@J*0D!$@@O
M+2O<)1FQ(EXD=(?!OM80"H)DET'8X"6#W/'B\D:2T63\X1[[2#98EWG2=!'X
M< 1>O*,LO2.HG%=: DZ)2SM+))!:,V D%3KZ2DQ+O_*=);V?(LHQ6?]B34[F
MO14(4P1>!+[9 B\<FB.'.LD\-(P B4CD0ZTHT))1X(+EBC@&G;C$H;WO.>F9
M0ZGHZUBG@B^99AXV,AF4.X)TU4FE&B&;Z?0@Q]*5XM*!*:7X63GZ63) IQBS
M@"-G 0T$ 2FCX\29Y5IX;SQS?>0JOJX@[3L] 7<8ZJMEYVHF0BDC+2OVVR#J
M0M.#5DJAZ1QIVF-A TX)#8$HH#I(H+CE@"DAM=702'VI6=5=TB$KIFD26;JO
M583"TIN0,/E&JP[47Z\.5)IUW-4(YEL^2C^./B?@0;R9:>K<5D(V3]!EZ:GX
M6M^_]*2%@M0H8*F*OA;D%&A*") ^CD<9)I2XU$S]GIL^^ME/BW8H+L>6;!^,
M%($7@6^VP M1YDB4B%$:I+$ 0ITZ:$>VE!P*0*W2'E&AB9(][P+I)PLA=R(K
M%Z+,$49**<8W5?)=TO_JNZ#U%M2?P5$<JA_O/7]O:$#,"0>"(PI0QU*-571:
M@Y$F"(\#U/#&FV#+C:>. H41 E1J!F1P,L(!9)PQKH3!0\MY'$R.C^OIL4_G
MOZ;>I.F3>OS!CVV$H.J'5Y.IKQ#Y\<Q^K_RK+&J5@\IS<4;R= B+] <G_9QD
M72 G$T5LNM$7Z9?]V]NRW'<XG=@_CB8CYYOV?U7^W[-Z>EH"XPQFU_>QS';E
MVO+DFJ*#0>L@)XD7$,I*'=LQ 8H.<FA\7 ZL6K]3_*99=C5JDWN\5_UY:0A;
MMN(',2'0<@&DL2G9[SA0 1O $7,.!TP"[*6SR9G NW#DC6Y>-X=3/?7NO_1H
MYM_XYO!(-_[KQ<#):*27GWQ9#'SQZODW5P.O'JGU!$&O!1 X+68X3(&BE,0?
MF;+<,NY$+VN;#SG2: WPJE,/KUD''=(,G</SB6ZJCTEN3ZHMG: <2RRHC!:K
M/$F-&1%0VFC G-%4*!,-5_0_03M+;/=GTZ-)$X?E+IAKVWUX_QG)J96*60^P
M"&C>$<)@!@$S5C"H'=*"]C\C>QX:CJ8"N_]M\CR<RZ729U+;VODH G9Q0C%
MI(QS"^.0VIC$J8:"L"98;"^W,>EK/KYHV]EW&VQ:WT]&F_S+UH^O+?V)[TVE
MEH!1G%J<1:),?<V (Y8J(8F.[+FJR?AZ-FVG>NSJ\8?5#(X0$3%3.1#='9P*
M@ -0V&-@?*">A*#<Y>ZV?2EMY8.#Q,F0E(:I$( 2&ADBV68W.,,#LURM2G/]
M6.1X<AOLW'1T_<DTU>/%;\[_67<RGA^I^\66*MU6DU#]IAM[5!&T4V&(<7?1
M4V_]L?'-\K>HK"9GGM+Y/E'/QUM$_7"B'F#>K->R0B\EHL$A@(B!,72.OH%T
MPJ<?M580*VOTT#) ?_W39PP1??+PM7YE_A:H+*(NHBZL=#]6LD'I&)<BX#4B
M@%HO@&*: XH4YB1HIRPMK%3F;T;K@=_HC5%6!=<_^](ND<EXVY<$A9>&(">
MM0E-A2= 4@[C'\ZA(+!0//1SV$&2]MK6 XTB 0J" >3! 1I$:L $.= X<"5@
ME(&V_?2C?J!AEL7 C9^:+$;B!.H #/8A-0UCP#BIXK_B[//*!V]PSU/S058"
M380<RJ(7ARS1@#*O@':6 ^.Y5<A33M&E<=US+O8\+@:W=AWPFK3UEDY1"$7@
M1 D0$$[L&2U2(4$!E$P)2PF,0<M*INB=EF)N-SVI4]BFS<2.X;0/6$%@*'<@
MQED*8V095[WTS[DTIKNOG5UJ)QP=;HIV.-GHZ9F6?[9TWDEOB9-8@<!@FG?,
M J4Q!9Y@XYS!\:]+7FLO%++"><<AL=XH!9CB-I%\],15?#\&G<5&8R=6-*8>
MYQW:$9#LT,V>=PM:_-9*[74T>9L%W)TJWOW$1RE]]*.R>2N'G-!J!%Z2<.L1
M^*:GTG-'T:OI#WLLHCOM 0DIVN6$ !W=4""L9)'F#!*X[VBW2\OTU+MQC>VH
M"HX4X"X"+P(O3+D=3.DUAL0C @A%D2D#-$ [AX%F*ABF/0RVE[U-*V%*)@M3
MYH@C91OLQB]X[SM7IPFG1]6)KET47V7U23W5HU(SGCF'%U'G+>KB*.7H*!FD
MC4,( L(4!+1;Q$)4 28]DU0QY>2E4[?NDE+X JQO(JZ^&!_,4?6<_]3/(9DT
M>CQ"K//\K9RL>L,AI8BZB'KS1%V(,D>B5(PJSQ$!V#$'J&0!&$8YL)(([0BF
M'O72F^&AB)+@'2&O6H,ND+(1*89269\UR.Q;.SN>C5+E<YRTH;;UM)0Q9# !
MB\ W2> #=*5R!ZX?MK2<TEJ&%"(24&80H(H&H"&" -F F((J^'!I=\Q=$B5O
M_51'&W//=#.NQQ_:<T3Q=,X3M_?_VFAE\5_?= 25W"%JG0M. \'&W*WVQZ*Q
M36>S(O#B/A3W(?<17I,^LI PY#@01AA K?% .1N I5HYHJSFU/21/EJ#^R#D
M59ML"S8.:EY>Z3Z4@I>-U_OY/-1D>N2;B$''\:E'?MS6'WTUFK1MR0EG[N+<
M2=0F?N2;+Z-G,+YZU4Y&M:LN&F112H9**;YI\4W[2FUI:+A/":U %: ,4: ,
MI\!:!G$@CB)UR3>]4PW0%ZYYG:CFX#S3O!A'XO$O(]V\\M/7X9W^W*^CBGA?
M7NIJ)C9F;&?YOZC@ <!N[L9^QXQ8\5LVA2*+4C)42O%;BM_2UTE 2GI$L ?8
M$ \H06E_5W1$A.->4Z4AHI<.L;A32=8Z_19,^EJ<*W[+,*;SBE-QWR@,0_UE
MY%!)R=U5_^\F4SV:]UPMIY0/T8.ZA\"+<[L!JAF@B[L%WB)U0;L %<#644"Q
ME$ '[P'40@02I-08]9'E.CP'W,\ZV.ZE8)_*G?BP]2^T;J!#N'%0502>VZ0H
MM)V_:@IM9TG;RGH)O0$NE4M1S=,RE89 ,"0($<88=XFV[Y+D61%M$[(C4:'M
M38&J%5=$E01,#D T3\",:FWJ43VM4WO_L>LQ(5-6&(>TF(5W,4M8Z28S,_(#
M<^=RGVI_SE.MQ17,T15D 2$(!06(:08H36=3$4]!8"1(;IT,I)=SN%Y^0?[]
ML5N18QB'LH,AS6=M[ZH)49S"TG)G&T1=&+\P?F'\_!@?(DFU"P8(@2/C*\N
M5)P#R9VA7// 3"]'4CX(XPN\0PKA;P(++;- \6\=1=?]\SHA_>6;,L)7R C=
M2T9?T"M'5IA?G-YI+W4UJ^VUTC_TOM(V;4;3X]-T:-1X,HVWFD[2=(_";;U+
M_^HRF-WNM5"/]=C67>E,_,5QO$V[>TY[=U?258:\R4JZ3B7X*VD>G:5 3_0'
M/P<AH$,<V9X>?=*G[9-'U>.LY+YF ,E)% ]G@B8R:3\"/3R:3 ]/XH!\LU.]
M&-M^IC=?F6P[+^8,KMZ?AZOW7T#J_>3$-WHZ*$T<G&'PP7D,/GRH$PO[&\F9
M&JI)J%YWFHA>65MF;6\2_N'%N)H>36:M'KMVI_*?K4]+C^F$R&YA)<I\\5,T
M(OWC52:TYA%4Q1KZLX;?QWKFXN/<CYE*-0,GH0LKKEK5U;/I9!G&I;>)CO$>
M?-)=#D;Z=#*;QMM_]N[)_%$(=O);?"%J?J1/6K_7^A,=<<XO)=&E%^;W?O3U
MZO;'NJV[V/AT;_G]*]:XYX_C9%<P\9<DO*LBV<4[[0JL;KR&$'[3-7078WG#
M17!7073CPYBDZWNA;Y04R+M5%-SQ^+*EW=\JW)>KC_:O1K<;9J(<0-+Y.X_8
M>@!1WP'R5B;H*-;TR<^/^*,5"/U.Y8##F!D/P/MW5_J[H\;[ZK?X\U%;/8N2
M<]5ORX.^'W#.W:$,;G!VL(:)6S@L=PT5#EL+A^$;..P\W#Q$8?LPYD?63(8A
MQG<LWUZAL@MOY8"*WUFY4U"QH.+FH"(JJ+@9J%B\^=PU5+SY+#-2]X"RP5E]
MUFQT]2+3PY#2X#29%\/<=1OE)E76YUX(]M9_]..9+XWA-W(S1.ZBSGUV/.0.
MA[)M(<=M"RY8)Y!6P$OK 34: 2TY RS.9!LDA)B[K[<M*(*@27L;M!$!4,=A
M_ YS\3O6<1X@@49>/NRGP^'GS>3X(-XLO<0_ZNG1P:R-ZO#-L\]V%+V@\8?]
MMO7Q_]UW-2?]5D]2M(/16G<RY&3E&TX' X28#9)^3K(N9+QQ,V4+R%AK9RDD
M"%#":/Q#4B")9 !92P+%%"((OR9C(IWC2GA@B>>1C$, 1MGXAR=!L""$2YW%
M\R!CQ'8@(H6,\R+CE?7KWB3%Y XH!Y-V>L<DQP9K;6W>U>W7C[?JR-\\O=VB
M@Z*#+=%!P:6\]%%TL"&N[YDG>%ZVY=3H/!SCM%^Z*0N!.<RX(NJABWJ U+(%
MJ</ $3=2.Q $0X RVW4>0T 0@97'S"#B^UC'2W#Z.OQM,G%=^S'??*RM;P\G
M(]=+AE#N8 5+@K  R=J%GXV/6@Q]Z*(>H*%O 6,RRK6%U &BF8J,Z0C06#.
M)#6488F<N-2P\RZ+;2MF3+Y#8&',S(#D08[ +=F%]4/+B^,373>I*5O*,9PT
MJ3_>]+3K%9:.73E)GY15N0QF9"8'MQ759*N: 7IIN:/C7__T&4-$,]1Z:1Z^
M]IDYP/FV<3HHQ+4!JAG@1-J"](+4D@:L*"">*T"A4D K$0#"BG <)$:0WR>]
MT+;3>N]+^/$ZO%D$'_MC]VP9>O2SA::<";LIB+7J,V%A;RD)=$Z&F2DN=SR:
MGPEK[UX07-* >:\G%*]MT$HI_EJ._IHAGDI/.; ,!4"]94 ;I$'@G <BM1;L
MDK]V]P**Q0ZLS:B9*,Y9SL T0+C9(.D7KAZT4@8X>;: JX-'F#"+@14( JJ@
M!]IC#KQD4C.N-52ZO]*-/KF:[Y#>TBF%JS<AD;+!Z_RY@\O?FDG;IJ*-^.M2
MI)'!K"H"WR2!%]\I1]^)*0]U<IN$0@)0SZ,^N=1 <,>@XMY:+?O(<W3@^J;#
MUGYZQ^ =A?MJY%9@I,#(UN4OBM$/1^ #-/HMX$Y+M"6,<0"=)H :2X%D*G(G
M]M1A@RV$K(^\0]_<*7>XE(4Z<T21TE[^FRI9.Q LSU-?:K 44N3?NZ@LDPUN
M1:9(OTA_&-(O*)2+)HKT!^^S;G PD7N$^_K$-WI:CS]4_O.)'[=W[8RVP2K,
MGV.V*\.4)],4'10=;(D."B[EI8^B@PWQ@Z_<35?Z^ZS?2S[4HWA=:N<3!_>'
M3_YRV5.7.? 54><MZ@&RRQ:L;0MG%;>. 0J) A0C#12"&C@*I45:((9[J0L[
M]*-1.EIL['Y;(NJS>0*BEZ5NML,$+^T0"Y"L7?C9N*G%T(<NZ@$:^A8P)C.<
M0D\QP(8B0$TD/ADD!!!#;0ST3&O51S78BAF3["BRUBUI.=ER+D!2&@AO28+A
MK6^];NQ1EV-P_J,?34K3X%QF81'X)@F\>%$Y>E%!(JD"4\!#)P'UA &I& 12
M2*&)]=HRT4?>80FTT8UZ^@5F^W2D\ ['HE39%US)2@4#2D,4HQ^.P =H]-M
MIDI1!D,D4RU32H)P8%@D1D^Q(TRHP%GH(R6Q>C)%.P*10J8YXDHI>]CXK,3?
M_-@W>M0E);2+5]7M-%4+?_0E+Y@YIZ^X(5Y12H9**<Y8CLZ8-01J;Q5@TOCH
MC"D+%(060,25%PY33"X=,'FG3CMSL(Z^V/X%J.[3':,[6*K2M[! U<9$@QLD
M_<+>@U;* "?/%K"W@MQ+[]3\4&@J& >*4@\\1#H8%K0BKI=>/P_ WGA'"E38
M>_!0]2!5(8L[E4.<,CC$:5(V:><X#S,Y^+&H)EO5%)\N1Y\.*HZXA@Y@&3"@
M$D,@L0Z (8<-(]0AT<L>E[/>&@LGKNVK S)5>/UK8L69RQ^I!H@_&Z>#0N0;
MH)H!3J0M('*E&7':"^"M-X!R:X$.P0!(G&00,ZY)+UMO5D/D<H>AOA93"H^O
M&ZA*!^=!)UJ^],&KQW9R7 I<<J?]LD2V?4HI7EB.7I@0%AI-%0@H'9DME0+*
M<0J$U%88+["%N-=TRHL.H5].VG[\,$KZRJ:41;&- Z<!0LX&2;_P]:"5,L#)
MLP5\[2.W0H$%H# =_2@0!DH* ;!PQ%AF(.*\UZQ)SWR->"E!'3XXE=,#-B%K
M,CWRS2)C4OVP*$[Y<:<:^]*Y)(=)5MIU#\U-+CHH.M@2'11<RDL?10<;XA!O
MY"I4[J[PBV39OITNO.%[^, ;J;X\4:V(.F]1#Y ZMB"!J(P@.#@#A( >4$HA
MT,%3()SPB"**&;N40+S+@M\24N?YPT7MU:O)^&P[S"L_[:<2J_0]+G"R=N%G
MXXD60Q^ZJ =HZ%O FQ9)IS"F0&)/(@<*"C0.'$"/G A>1BJ\U./V+@MO#\:;
M:*V[R7,RZ5SPI*RJ;4 J8;ZJMEA-*XMIN<RM3+8B%=5DJYH!NEVY8^$/2W5O
MF:_(H84.P0 $Q190C@TP-ATM19E6V"AN">NEJ#IQS7G?\(+3>'LOL8T6%O_U
M[4,9,^CDO('56[D;^(]EQ7&H>9[BT&RW:@8XD7)'PVUU:((V)/HR'@1DHW."
M(02&0@^4M)I"B@-GE]H@WZGJ_"$=FM*&IS@TI7QG$W2Z:+38=SW[1NHR3X>H
M;##</J44_[3XIWT5-1',-)<"&&8TH$92H)!PP"O',=8Z>$S[2+@]D&M*UWJ6
M>W%*\W!*2WG)5M-C3EHI/DOQ68K/TJ_/(H,,#H;HKFA# 65* RE" "BZ+ A)
MH9'P?>34'LIG*8>3%)^EE+!M@F;G*%$9'Z>[7R;4IOIS.;ED($Y0$?AP!#Y
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
M38YPG914(MV4&4)23IBB2#/I$9>,(&V-0L1(QK@,UO'XV#*#,LCY#SR(@L8
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
M2F6*-^E>FB2<<QXQZD(I$S1(8T>1]"XRF84 B_B1Z)[P/'!57RLOP/EC)B&
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
MRG_+E]VS.I3R(\8H;+@YL# #< /<XX4;<M1UY:C!<0;B.  WP#U>N($6@!;
M<0!N@!O@!EH 6@#' ;@!;H ;: %H 1P'X :X 6Z@!:"%@W4<Z/$XT&J]W^+Y
M:N%/;;M7KP?=&^LF(B@Y'@C< RS,JSQH?;^UX4$5$RKNJ6(N(:>D0)PG@G2R
M$A$6"<[CTF%[KV+":\V[KWCAEJ+"^_:5E$=$]E8Y.-HX6/D@_0'L-6[> K@'
M(A,@/0#;XP_8<0!N@'N\<,/L$6:/?<P>B0V!1^:08Y8C3K HAZT[I)PR5@A/
M.-:]';;^B=ECM[6_GZ.>CHB!&23,(,=EK[%Q%\ ]$*D ,TB801ZPXP#< /=X
MX09: %H QP&X 6Z &Q*+D%CL.;'(I8B<"EX:?4;$I5'(!A<0IE8$HJ,5S/=V
MICPD%JN(A94/U%L3B]!6=- V[=P?N>+YI4SY/,Y:6WP3BO^'(%, [H' #<F"
MNI(%X#@#<1R &^ >+]Q "T +X#@ -\ -< \[ASSZ?"P6/"3#$W(\EGPLP\A)
MYE&@@7AN64B6]5'H^3S\<]4NS_*MM&_GST.8E'NPT]=V$E[.3NSY9&FGW7;!
M+F=SLI.R^2W^:S5I,TYOXN+]Q,=U#O>WZ.?O9MVG])?.)4=,"3BCX,#"$L -
M<(\7;IB+P5P,' ?@!K@!;J %H 5P'( ;X :X(457'X?<GJ)SQ JLE4%"!X%X
M=!9I3"*2SD43L'*)R3Y*)B%%!V$)>KH>7*GDJ^5I7'1%DHMXFCUZ\CXVTWG;
M0D?7NDE^M.7B8X,;IMIU3;7!<0;B.  WP#U>N($6@!; <0!N@!O@!EH 6@#'
M ;@!;H ;: %H 1P'X :X >XQUFM4S@N'V98K1H8=#AJY9##BW$ID\]T@%RT-
MBD;GQ%Z_?^LITRQI9/+KB#LFD"4N(LV8YX0;SK2Z66/2+3:?[*XUOYSY^5G\
MV[QM?XW+5^FM_?AZOBAW]GRY7$S<:FG=-+Z=O[:+?/]?7T+2YO&7?_I\+8F"
MUEW#KEV ,P%&SF\ -\@)D!,5/]_M<D([0JU3";&0).*6"^2\QTC@8*257 @9
M^BA9!3DQK'A9^6"&3J#CLVD. \VD"PI0)#X$\7)WN%U^*2ZN(! X/T#3SJ>3
MT%P??V"82@T#JQQUK7(\H,UW14Z&&KP2V&G4< ,[#=XPP$[ 3C68^A"\$N"N
MRR& G6HW#+ 3L%,-ICX$KP2XZW((8*?:#3/ E>71K](FH8W76".BL4+<.8>L
MI1*IJ+GU04DOU<U56IE<HI%@I)(7B.LDD5;*(4H5ET82J5*\N4K[:UQ>+<OV
MT@5(F:=O 00L77MT KCK<@A@Z=H- W-(F$/68.I#\$J NRZ' ':JW3 PAZQO
M#LF93<$(@3QG!'&1IX(F<H$8L9QS*11GN(]*7YA# DM#Y]EQE>;^9*=VYF-C
ME\W?[<*?-HP<-113 JUGZR;[N^]/N![PZ#$5)>"%^<I-(\BP@5@&=%A].@Q;
MSD3"$HF@LZ92IISH23F*,:;@-(X1[^DPJS@W,=%RI4#<JH",%EG%!6&QQS[_
MW]X&[NX @/;5:MDN[2Q,9N^N:;&V>W57A+W\]<7G-TV1(TGT$=?\Z3=/?=D%
M0([!?N!#@GL\=%UY4/^WFDT+?%\?WWMFA$_6(T-YYFX3!7+81!2D#-8;RZFA
MO?#]<N[_.)U/\UAI?_G7:K*\Z"7Y(C30/? /T'U=< /= ]T#W==(]S:1I*3!
M*/.U1]Q'CC+'<T2CH)X[; 79:Z@2K4_:R(@P511Q(B@R41MDB4]42RD<HX]$
M]X3J(]+?N7W ^2,F(8"[,H\ S@?.KY#S*S?W839^D];(@+%!/F&!N#0&:4\5
MDH10XZ7DW.UM*5#4!^-%UBF*F*QM D>:1X6$R)K'2.^XZU6G?$TO-\./*.B5
M0PS3T%(6! \('A \('A \'Q-W84F1GF'D9>E"3X+ 9EH+)(\R:QDHB>2[0D>
MPI(JZ1CA(D4\48R,Q!89'AF6R3(N>UV'^:KFM;J"[K6@=D#M@-H!M3-$3P*U
M TLZWZ0<'):64\*1XX(A3J1!CJF$=&(B!,6$X^:F<G T8NE+W0:5 G'L+;*6
M&60\(98Z9H7=Z[[P0$LZC!TI14 SC(.#=O?0P':+KT?^)'^66TP>A/4!X/L#
MG.$LK_S'=_0[ !M&,P , $.XJ 1L !@ 'C; $"Y@- /  #"$B_K !H !X&$#
M#.$"1C, # !#N*@/; #XX0#>KD7E?\MAW=V/GX+FSY]=JJ:W0$/N!<W5ZOFC
MER80O(?QS9M?7USNZ=EDF6_8?Q+]-S$VUOOY67Z*B\GL73.;+_-'+>=EP3F#
MV\824&9=)T*[S+^DR<S._,1.\S/G/YSECVF/=ZQW=R/=-G[';*1/F43<0//T
MLIGAN7T7UV$$V92?[)F=?K 7[8_?-7^M"O<[Q(U[X+470&J"XO&&H)M/0S^
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
MDB58TM,2+($EV#L>/[%:^%/;QF:>RBILGBPO+[K6#?%?J\GY6;X(4K5/[HD
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
M3,YV8,D S+ODSG%S$A=+.RE3H[4:V4Z,RM++[@&;S=J0&9C=[G7E#K\,_><
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
MT>6QI7@.HQHC++5(7!FN*+LY'G$2+CBBD!,BE3RO0I9SB33U29 0O%+J"80
M'\4 /6@A$"T+W*F I$AEU8$FE*.=0\%@32QU)-"]G7V2>V^9-5G*$I&',<^C
MD4J,(M4VJP*M\P<^@1!@(QF-=Q("D'*J-^7T9E6:G&0"K'D\WJ$4M<;'^/RA
M-^S'FN]]Y":XOM]D.HF;_J"E_4O1A+-.0Q>':;<.LZ[HFV^*P?*'KU+^(3/$
M8KUMXMR6TX964[LXRA_43F;OIO'RW:5DLW0:R-^^:=_0SJ?QVJ=\,M:>+^;G
MBTE<EGT@68VW\T6MO0"^HAG )WL*UK['X)'/5>F[:4+0/@J>)YZB+'H':I'6
M6;D;A[-BYU)9F?K85;)9T7BQF)]MZR;_>[(\W4XZH<GBKN_UW&21'6\7E/*_
MZ]W)5\==5'W.PF?NZ6L;F#_0Z0]];^Y*@4=-#4J,E/FVS6[(2<P3:.LTQ\(E
MLY?_N>/FKCW?Z\J7G\_"WS8[XB_>EE7K;_1(:&7Q;1ICW1FPV_UXN4=QV[+@
M0USW(4_S:=?VZ/MN\\9\U6:AT?[P;%!M11Z7'=>'0W85^K?,+NUJ.?_1E7VD
MB^Z.LA)[AG_L+D=3>S%?+?-7?(SAQ_77$=S1S.8->=1,[7D;G[7K'B1Q"TAW
MNN;ZL[^[VC6_O-PU7S:0KOWJV?8S=B[</<MR_;62'1M!_ER O#SP\M8+R3'C
M\FNNX\=:JJ^X$!\;_'5?K"FMYP:WIU3>!'XSL-=*X';$^S@]]&P2PC3>UH*@
MEM-$;V]&\13')&_ASV"75__C._G= YABX[&7< B<'Z7I&@0UU\/^X(SV"&KS
M[H9_VRWO_7V]O/?+]>6]SPZ')Q@"13YN_Y>Q'^)8>"('AG [)&M=#[<4PNUX
MPFVIG(2P.BI'[=]B%<%=R:'V$!7''A4)1,6Q1,4OB,U-^NA;U";%ZHCRDC^F
MW<!\@%CZ=6T.^P^FM><]?XKYB6;K-K73TO#E[GX*5GPR*_[;DUCMU@!5C1V[
M'/!-0QY 85Y(QKM(&1(\8<3+'F@G,$<J:FFM5IJFO0I][8V/+ 1$I$R(2VF1
MIE@@Q4B@ADN"3?R:9:O+Y:IKE7G_>//S96$>VZW+0^RSA7E4'BEL/EF<!Q'J
M:=9T '0 ';@8N!BX^,M<;*,/@2GD*3?EL%R-3#(6&149$80$2?>XF"DFDZ,"
M90)FB!.*2^<2DND<NQ@=]IBF)^!B?B34I_=O0H2J@!;ZGY@_:'H3".1S1M[]
M[\\WJI'*AKCN=)S0?-]5$_(&-3^MVM+PO6V>E]?6IW6T/U2:V@;;]RX>[KMD
M"[*A&ME 2AL1E12RKO0N+36HAGM9VI\:KYGD#N_M].RK\O12-KR<^7(D4?PY
MKO]],5]LKW^^B3XO9]N@<S(_<YO#-WJ1&^*(:=JCVAAE,*MW^@EP ]Q U0=/
MU;6;<+UMCX/GU1'H8&%Y1.%Q?Q9;WI.E90;F70MYHXK\#A+3AS?#3(13QQ-B
MK+3'=HX@)Y- 24L?E',R]+/%^+,SS)/5V6K:G;IX8I?^]!_GSR_/"GP[W^R.
M/>GVY+V<_3U/05>+^"J]7LS?+?*,L[>L-E60U3[8Z 2@ ^B' 3KP<(T\[&+D
MP0F)A, ,E<8"R'BO$-72^.13.=IE;X%8AR"-BLBS*#,/IX1<OABYR)(22:G
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
MD^QHUGRRXT5<9\UN<11W<\_<%>58,1 GRZ3B$C%K<UN'R)"3DD+$)80TGLE
MMQ(&C]ETN4?"8*-^Z?7$+V8W<\,/AD-ZZW'V =K*"@X[HUB,Y\NB&XB+YKE?
M_(9=U%3O%N4+#+@>![[F+,EM&&#I8NMRI!-%L)0XJY]XN9->%C<CIW?W"A[B
MXEY1L@TOW3&]..EHV>96'T0P;C:U(8*2@;VUB]'2P\.C^E$N0V\NIN.1SU;2
M3L>+975E!A8_GBX"6A+&T>13MIO<P#F7PXWM/ N[S3>?@OIGW:VO2@4+[3<U
MJ$J'IRS[Z/D(@2!$. 7$UI@4\MQKX.E.*20PCA9B0![SW)_''R%X[\]B6(SC
MV_2WJ]K.UUF1HS0"GMO5_JZW3X'U;@ GO 9/'#YD8^G[K$&MA=EHR9>FX_'T
M<W<&L7-,(';XLG#C=EEX *_Z*]2=;Z8XEQG194^\FS4*F:2>-#=J-9J?EU6T
MBQ:<5_O+LX'ZH'+6UQ-ZH'4?V]4BV1ZC8Q?SZ;K-?GXB6%'/\//N<C2VEQ#
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
MG%DP#1?C)+]R8?/BS@M]29;7\=^9A;^NM@*;WR$4GK0CW_PQ_0C_@@W^NYV
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
M<";C@---I9OC;Y,PE.8)QV9G.Q7ZU_Z0GE*1_6&8+G++YV&QD])-;#_'-']
MP0-D.4>0Z0B$!ILT0TIXC+@G%%FO*'+8!$JUIC1LG>C$W(M<JXE\4!%Q@CDR
MQ$5D'2-,.NR9,\,YT4G8B2FE*\/WS:D2R"* K0J]2.NH;**RB1)4?JQLPDL?
M:! 4I205XM0S9+Q*B$K#HW Z-VVZR2:X)C)%HY&1%M[#B4&&>X."BT92*8)3
M;D!L0E4J<7"HMIF+@I_SZOJWM9978]+@]S#Z5,X,T'V+KQ0Y#'>^VBPVG_,_
M1WI,$!RI$8)SY 5F  N6(&<,05Q8%R)+E%F[-1Q3AR -Q*2>18EX2 G>DUL&
MPO5*)*5"?ZV&[D"2#S,[:5.<M6_B?!M0KF'D]9O?O\(1U$:?L21[]#9.[@[7
M-??*)L23@6\H*4':\8@B$=%)PG3D_8YA+$PJD^DMZ'H(@T7G:PDUH\E\FN=J
M3Q==]YOK:;L_,BW[:F3B:?.BS;?Y^N63NYOJP+7'.H_72.[!&"+")%L8%@9I
M*SQRS!+I'.>4NYO&I9.5-D:.;" 4<<;!N+ 3B'%AC.*4&KM5]?.T[/5'!O7*
M4W48YG2^G-/;C+(]^?$B6\AHTKSP?K: '^.7BSAIX5;93*9@4;,F2S9;P_AZ
M[NQZLBG<-^3+0V<J>3.W&ZF]VLUJVK,8YWDLZ6B>/P_$&[UMET.WKZ9@GXW
MCM<=K>#I8CN?3N C/L.#-E,/G[X>KYVOG\ ":PA=6?A)]YC':I51$<\!PI##
MU" >628"22**O0,+"TF%+:N$UX$_ /)K@H$R$(@I+141C-1@35GR*K+A6*4Z
MI0=ME6\[ WR@X9U^%;3=%I-!X%9,./)TPTGZ5!S!7\_M_=>SJW*,"_LQ+E,2
MR";X:L_L^+.];)__U/RY*,'O.1[.HKA](OOW/^2GVR>R.^4@1-($)9'KC6E0
M2&/FD'1)B&A5HI[V$0K\93H-&:5>C5H_GF;/^"'^T&#U[VI;/XFVGV "T"-6
M3'>*1YXV:VGW-LN\OT?\:I+Y[8MY>_[M2U"(FXWN6L32JD"B#@@[#/%LI #9
M@D1$F32PCJ/5>!O<'["(W_NS&!;C^#:M!?R#B_@>0]IE35Y=):\:?]4LY>-*
MX!GU;:;'X_'T<]O\W&'\=-$"MVU_>?;=W.$]%/!DV<.G!8[E3D&FG^O/7SUU
M]G++2?:K9']^(N"AS_#S[G(TMI?3Q1P^XDL,SU=#V7'GCE=O\*L)]\_:>&%G
M0*[6 NDVL);W_NFV*LQ/HW:TI+G/UO>XHQ9S^;&2GS)^GV'P]QXN+TX)O==P
M>:GN^;E2]?Q\]_G<VY_O9O%K*6<VCG"RE-_IU/5;OG@IBBAJFEX=B+U7\9<Q
MOKP@[13KI;XW'?;ICC(-PZ"*G@O[]:9-^6>9!J?]PT*S@L1=_6/UC[OWCZ^B
MC^<NSM8N\A%#M*N++,M%EG'\$P1=?%%DZ=G /<_.7HJR:G%8!P)66JM5_B56
M9#C-L=8R(N=$0)P)BRR3!'E-1>!,)6+]5IV4-SZR$!"1,B$NI46:8H$4(X$:
M+@DV\:Z=QUX*\^F))G+/I?D#\46'=7CL1X5.RA3ZW5NK0Q9V1=N*MA5MOUV5
M+!B)4A@49#*(&P;(*6-"3.*4:%)2TRVT98K)Y*A  +$LSUC"R&A!D.#8Q>BP
MQS3M'&U)1=N2T7;?K:)K;/UX#6]T>LYUY3=[0[<QKMI#K_NA[;='=+7()]T6
MJ+!>A)'>#NM:.":BI\A11G+C'8!U#RB/J224YA;#1/=9OML9_"R&5]TILG=Q
M-IJ&?J >GS A]M87N/J4??B4&DV7)>:ZJH\4*4L'OZ=NQ%L-IVZK'D7HMYI&
MN]$4X*+C='O)L=0F]$7O?=16](-&P%UJOC8!*\)"!VAW!ZF'"F0'HIX!&M01
M)#T3CC()FQN"NMQA*7ADE15(1BF"4"H)O9WT#)RD8"/2/F+$J=!Y_Q.6C"6!
M.\J-IW<F/9=ISM<3#PNKC:_B\K^]I#W[S'A6@"_!<]4-T>%'Q7T-FGE0TJGV
M)Q]"@=2N55N91XG,P^&H8U(""2T$XMXZI(V@R!'K&4Y,:JEN,@_EB$\2. IC
MF"(>G<MC4012EFMC!)-*B=U64;$3HOHLH]K1VJ\<8RC[A'4[M@)\!?@*\(<'
M\$2%)+C5*' 5$)?*(TV)1T;[9).1/.##/Y14\;VP',)1)POV2K)VU/&A$J[*
M:ZN8CT',U8'4E7UP8OZ!26;%]](_O);N E./O4V(N40A'LD)QTA%GK,LF:9"
MP2]]G EY/9G;R<<1*/]%V\9Y6UN[[[RUNSIMKJ7>+,5^TDSBO/1&[P.V=MEC
M?-%3OWO'5<1,<K!P[Q#76B.;@D>1&^E$'GF72+_][G\?34!(?XP^Q7#3[#]D
M]_^#%E]2&_;2$U4;!F\[@2]'K;7=#*A<L;WLA9\WK&LW_&/JAL_E*='W[$K/
M[M5MGI\JHGMMAZ\DZ?<!)>;W>D"#[_?!O3_@8R2XYP;9-=JY1QQ/\"X"^=K[
M]9AZ8S^\ZG)PVB^S\>L3>=*JK6(RI=7![L?!_F4V;=OJ5P_*4O='.>O,@>H6
M#\(MOO!^<;X8=X.(7YQ/037_TXV!KIZR>LKJ*:NGK)[R:M_K>G.K.L6A.\4R
M&@?]X*"K6EQ_1^^@10O?)<Z:61QWY*4]&UT\(M:KJASB.8E':*T>@2CQ" 25
MT7%/'3(!<\2)$<A*A9&QGJC(:)#!WBPN<(&Q$(A"W!N)..4):8L#(E@2'#R3
M4?B;Q07?*"GHDD;]'(V@)TKA/3=9&(B3*O<T8Q5Z%7J%XPK'@U/DS[?591X!
MAY#6>&9U0IAP( 52 YN(4:%,!J@G3"0==\PA-C*LFPG67E@%.1%LWYV;JJOM
M9?T^8FK) 6NMLI)J*I65U"3!G0 ?M/0V"H$T"PYQ9S'2B1,DG;8TV6"],#L&
M^#=QWD^*@)S0BN9EX\*^FRH.1#VE^Y)W-O_P9.5@ ]%:N63K0>*N@%TB8*>D
M7,3,(XNE1SP/6M>41A2I!,06!'N);P(V-@+;E#BRC%C$$[?(& D_:>ZI8"J(
MN'5D\$FR^H#8='\-CZI;V8=;J>*NXCY<<0\0-$O'P6/-O4?G(XT^3VWG,4]Z
M]\@9;1%U7?(]26*VIB/TC/2[S;UC8RKV#SL0?+)9X0/1UX&A615W)0\UXN:*
M*I$"8L(SQ*-4R%I%$(Z!!Z\M(8;M&(?[2I$3JBKBENE2:D7] =&B]],T_VQG
ML9E'?S:!I_EX6;>A"C*VNM%]="C.@Y#:& YW,QYQXBFR1 J4@HF14QJ%HEL3
M?YART0" FV0)XMY[I%4>4D@MXYQ !&[=7O+FZH3P6@Q_O"ZF"KT*_3B$/D P
M+1T?CS6?'B!.#RYBY)+1$,?;A+1T'AD5I&$>*^FV=LY[9@"[S*=3P2LC.(3@
ML5:R'PVZ5:%72E'C\R4Z6TR,RRER[W)=&W9(4Q,!HB%NIXH*3]R.T;FO++L\
MT;K/JK;J8 :0;3_(S9#27<F'F05Y@7T_\2;6_7N(E:[A<A%^QXJI+*!$%N!D
MX)Q&CA2U#G$E.++1&A0UY9P)+6@(-UF 5<8 05!(!QP1=X$AHXU!"M8?]2Q8
MO3VV]XFJVS'N,TN_&XNHTWQKD=4QB;MB]^ 5,T#L+AV.CW93@'NIJ94(@FR*
MN%8$N: %"H$F&H3@4?(=$XZ=;@KHRC^.+BJN1?D5)RN!*5DQ R0P1\ %+,54
M!\N1)IHCSKQ#CCF"A#"48&ZLC6G'7*"O+0BC: 7^@_%7]6S  ;&SI:JW__TP
MG=MQ,[HY)/JKJ?!/NG?XM0'34RJR 8?I(C_<L(A&Z6MB/QWY?D#!E;"42%BH
M\TQSFY S+A,6)9!S5B 9B)(2BZ395O)".>*3#!XQABGBT0')P48@93GP%L&D
M4F(ONR4,UB\KI&SB^Y91R4L1M5Q5Z$5:1R4&E1B4H/*Z%5/D-[R=S1!%F855
MBX"8:,2QB\@0RY!P&#,7F/>"[)C-['0KYL202F^.UI/74QV5'U5^5/E142H_
MUL0)QQ(;1AT2-C#$)7;(*IE0],8)'4D06.V8:O0V]<"<4%I(+XA#Y!4E[/G
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
MT%;GI![W\!,/,C$'_]D:7_>0#NZO8HI@!V :[;Q]:2]&<]#"_\3P;A8O["B
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
M:CO:3;OKKQWMF^D\-N:T62F@Z330;*I@O< >O6W<WT,WFX!VJ_KYJ6#LVPM
M#GD!].EX7RUF^;#\_"S"_V<Q-N?PTEG;1!!E:*ZZ0C:Y1U!C)R'_ +_FZU].
MS^&+7C:SZ*<?)_ <H;$7%[/IE]$YK*;Q9?//MZV>(TA):J\DHR:BZ)-$7&./
MM)4>,6PXBR3YL-W#6PA+O>48444\XM(X9&C *(44M)"!<FJW_>:G.%G$WV?3
M\PT7>FM?_^L\)/[V9J4\P=^HAGKXRE[W.]E'><F@##+;V+$:#H]*.F(($D$#
MX2 D()-80"'0)(!Y6,;9UHZ_"<Y9)Q%15("Q!8JLXA0)SAU76#/*Y1,8#MN5
MX3R];D[ H[<7$;[ )_#B)\UH G_H!-8V"436O#^;SM]?  [&6?.'=6T#3O_O
M<'W;?![-SQI_9F>C97OVZ>RC!63HZC=;  T[;\[LIY@A(\+=0Q.FD]6+W9VG
M$WA/VD27?_FG+Q03\[QMP@C>-9_.V@Z&OGMY"Z \2B-O)W,0/%#',V @<=:>
M]D9I=N*JNBC]KG"[;WX/]A2#]P@'0!J>M$46PS\I><4<F%7DO?#[]QOB_^V_
M%UT)[SQ6=O\4[![>WW3R!Y)_L0 VEYLBO9M-/\[L>27W!>I_7^3^)J=?+Y9P
M*XLZ C+":)0AV82H!S+.C4[()6X1Y=Q8S8B79(N,/-@[7AMG6"KM'?CI:7@/
M4'J#E;2K/SV@QD"H$TGO+C(8TLINEF+(Z#\"WN&GY["TESC? ,F +P(T8V8_
M1N F(]^QA&,EU1J+I)G6R! ;$<?4(D>51-ZE)'$4D>NM,MJ'K.,/LV@!S2^[
M]?S" \[/8GBQU,++:3N'%=TMYYL<.T_+6;^R6M1X<U'3;S?YT*>,'\:2O@ Z
MW2WK_'V/=KGZ2#F1VB&F)($84!!DC5"(",&LU((GMS4@L6^W^Y]VO-A:IU>K
M4W[E<L6W\RFG\C 6)UP]AH<_;3Z<Q0UV "%?A 5[;D/,<>+T(D[@E]D_XKR9
M;Z21FWS*[V/C;7L&01O$@)-PTH5Q=CQ>1W KC[[)/+I[S^(\>Y+3YL5\B[(<
MJY$DBYG&FB 9L41<$ S>'1O$H_ 4<ZE#Y'T<C;AA)*NXX6_QW(XFH- 7B_G9
M=)8SO]?7O#@'8<Y)3]9S(*Y]93VPEK/D<J+\DQV-NQ1)]O77:QZD!E'R)A7_
MW^V*UFQ<=+'4P^D^D@:4,4N<9T@2S_/28\AX#C]105,@BBLA^_#/O]E97F+M
MFC;TG20@-4NPD24@IW#IO'D] 28=.R;2";UF" K4?9^>*:,YJ/QB,5_V[ (L
M=K8%8Y_ :AA=KX8E+QVU^55P7]-)YZ*6#Q0#6@=;X+_SS"6XRW5\]E5L-EW,
MVSD ?V8#89F=B!8@_:+C74MV<>-YPFB\R)O3?3W1]A/D-RX?H+D8+]J3YO-9
M[&XWFC4QI>CG^7.ZYQA]BCDA[L&1@P#M>'W7KO-9V_4=O_ZH=N%R6KR93]??
M_J)C0UV"?0XN-7^MY2L9+.'O\?QB/+V,<?77:X<_AB5U]5MWU&.9!O]L9T"S
MYD/(:O>,0X1Z):*,2%N(:+E*&EEN+<H]JAC&1'#;"PZ]]V<Q+,;Q;;J)2+]F
M0WDQ":^6"_0A<Y/OX:H(K;[JVE>EZ7@\_=P9[7+^[^(<OBS<N.VL^%97ENWD
MFT[DJ[G+8(1??,S--[K7\INOKPQV;LL<S+S_ZK-EY>[F5.;^AC#W,G)9R%--
M>)\3C?4IUWV.7*:G1(ER'G#/ _K.1R&,8YUA<[?5?>.D@NSUI,)*%77DU'Y&
M3GWH-N_^NMR\^^WKS;NG.D5QWR50AU -=![J4-UMT9;[KV[6_/G)<I:]/?;^
MSL15I-GW<,,G&P5;$>5)#+5_C14D[@>$O65XQ8?, :V^<=^^\8D'OU8/N6?.
M_43-8G_0KQY2![$>-S+S]H"=PR/TY*$?KL@!=@H[K.Y]50]%Z:$DJ9?4':PZ
MI",SA*J'/3*S*Z*R*6?1W>:ASFPET.Q35G?:MPZ'V/GUS=6F?*&)C*JXWEOV
M/G9O8BCN\QB*T:GP.$J)E/<2<2X\<MY$Y*27%&NGO=Z:&OR02BQP$\OZU#^F
M[2TG]1_2=%>KO0W^&8@+*I>&57%7<5> K0![^ #+G*=&Z82\]2R#94(F!HZL
M4$QPBJF+Z2; ,AV"-"HBSR* <LB]^XR'?R)+2B2E M_J)]4_P*H^Y]X<I <Z
MG/#Z@/.#96]\O(J3Z7F>G5FW/@:5X:J9QB/00TE2+PE_JD,Z,D.H>JA;'X?!
MW/H,^/[KYGGE[5/*)\MCC#5N*L(V:^+EB!(OSFK!K5>(&!\15THC$ZE&.&JI
MHG":VUY: *Z]P*I;VINN9\';M.S^]_;:%70GSF_M!GCO_MZ VT*>&*EK8N:H
M'$P5=Q7WX8J[PF>)\.FI8-I9A@QC"N"3.F2#YH@XR2/W23",^]BW>$+X)"="
M\Q.)187/,AW,SO<U:@1=ENNY5P2]:O]3,\ %66K--AX=(:!!4^I\0)I1( 2.
M4V0$HXCA2%7R$![37GH[WT$(5HW:MGC!8R-J1L2)QG<W>J[NYM#=315Z%?IQ
M"+T":XG JA1+1&F*G%0><2-!GRI:I!*.&AMJ3- [C+1W ZSD1!M]PB2MP%JR
MNZF[U4<3:[^YI7MNW9X>HB;KP8)*&X V1"7R3C8*(C+$.?QC=73(VZBT"X*P
MU,L T%L[I_<[!PQ$<_=DN^J4"@](JKBKN"OD5L@]?,BE)F"I "^U9!1Q9PG2
M%C-$C..!&,*<WIK<]I!(_6D@EU3(+1,#ZC;XD:'+[:%YW?<>KD8?P1=J?O_
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
M")<=W9G>?&DO(^&#B;^()[&83J>1,")ML"+MOD*,)W>-NXY$ )#\A#:+',Y
M],<;>7A,/+G^WD3U?U\W*7=;N.[LZ 9+#4[W4J37XJ9\]8WUI^$ _LF]VE]_
M&Y^=IYH?QCV]1!Z0A+?"&_2)"FS42D:*42"/+5\>XHD#W+W5O2A1<G5 HKM[
MKWL#2P9%<ILO17@B"D#:V<M 8'N"8&X'L8ALX)*17'BN$XO@*"G>X5I&=0KR
M[J]Y=@5HD%&+#))[OR,J7H.0NDJJFP\8POD K_QS"E]]8TF0?5LDA**6MP7!
M[A'$F3TWTKCM*KVVRGJS05L'9&=QB"JL%__Z+_[DU6_O?Z?_?F\)1DT"ZQ\R
MIB+J)\52>@V&FT6NKA*=@[!N/U47S#),X8WS-,VO6_+#:_U0S!Y?$MR"V4<4
M!CJ@2?',0VT.,!"FL\1P1X" E\XK>MQ.Q0UH0?"*3S)ZQ:]S'9(=Z@<A1L6W
MI7Q9RJTH1"4U0"@)@M?^YE#J/%KC09("E;[4:]R20,^OG<W&_FSV'0+RMD"Y
MVM]XYDSO\9PSGBW\^ZSGCZ>+^[S8&2\=]X@;=,?^Y%X']L>>/[G?B>?[)[ZC
MMF'QQ:4-7UNZ949##[?2\1' _0#=^:3 !M#BMV0C#Z13PWE0R"FTER!/HZ,@
M_J^-]=_1YDF#M$B%''[M_MG=A^?),94Q-326^1D;[S%X9?<Z?U4]@^&8C\4Q
M=:KLOP>%]:?_5 FS_ \:&&%AKH+UDT@*ZV\BK:6U!?X*AM]7I+B>\)(8?FIJ
MH9][[<;ORH5F"8PFE;UX!]=&[X4\3+[Z4WOV#= O&.BFKFF(B0"Q/UW,(G]I
MAWZ$D?UE: >S*+(7PG=]?S)9Q-%\-[KABV6X\*=+VXL6<_B-N[2#<!K;$^$[
M@9S["W?A'2T1X,<_ZJ2Z>9N!(5M3HYMWU5H6']8B4Q5/3;3D. 7.WF*T<,V8
M<\.GSHA/720>A@3U<]2 3?6RD?)-]?(D\)P8A/4RGDWL"<ATD-A!8$^G,\]=
M.DXHG=F92/F=JF9RSZ!W!ITSY)LY<NNZZ=@92+.3(1'2D+0!,WGAN8@T(G8S
M>&$@=&? ?0G@-@K;$!4VZ<<3V+ECAR$J7^Y2V&+I.[;C!=Y\$KFQG"UV%3:Y
ME-+Q)PM['DRF]B282GLY]P6VFYF"RN8*9^$\GL+6'[3^M5Z9Z>3(3><,:S*L
MZ7EY8AX><!X2U,]1;?T:3\S#L7:&U/,,!/M"3)8SZ0:VLYPO04B[<WOINM(.
M R%].7%FSM0_)\'^R.X8;S:>'C4X<[E<\7+<,3L^,^.4&12?^QNY98U'=$ D
M^(@]M\U@S+-%SQDJB$/GA<]U/*:<+&4\CY>V&WBA/8G=F2UP.L)"+J-X,O>C
MV-_+(AJ65LM2[$CN*L\;S:>W-Q89%C\XOPD)0Z>1KYB<^;PR+RY2  \)ZN=(
M/29OR7C+LJ:/;3B9S&/']I;AW)XLYPM[,9$SVP\7TIL&8NZ'XISTBL?VEDW'
M_D#4D"%1TY!LP1-XRQ[@TC059X]1<7:T:9S&:7U6\5,SC?-B\&/4Q"&JB6(Q
M63IQ&-C3,%[:D]EB8B^7D6/'KN_,%XX3!_%>MI0C0G<9SR,[#N?8 7<VM1=.
MX-C.Q NG_M0/(G&\X5R/7,3FS9S1Q)\,(TYJ9G2>"1L\0]YVD7@8$M3/41$W
MZ59&,]":P3SV?!$*:4^%$]D3Z2YL(9;P%[:\]]PHFN_/Z1ZH9O#8A6_.>'%4
MW]'E,L0A^(X>,M/3,7W2']QIG-HZ_[C9IOF-E*JYXJ]U$:YQSB:V>S['CNFF
M:?A7TNL'X-W2NL;_>::9(-$L=KTPF-F!ZRS % ^7]C*0"]N7<;AT%M-Y<$#@
M3F=S9QY$]C(4PIZ @6@'P=*S_84KE\'4#29AM"=PD>)PUI&,?J"^ZAQ@X:%(
MFB[I(4V52)3E%QK6=BE#%(PHG$J<1ICE%S$N1H^%20B N]WJ/\?65--[?N[]
MK[_^V_=?U-=^_*1LT3#!1V*"5G,_B-1%DI7WG(<-5TA4_,](EC2A#G[8S+.&
M?^ 44;Z_CS+8>AE)&44+87L3'*4:+@,[F,B)'<E%M)Q(7\APKW7&9"XGP 67
M\!L'?C,-I[;PQ-QV)Q,_$NYLX8JY&6S])?-4+VB2ZLY@ZR2C"[Z!#5?M6#ID
MIFI0)#S^POW^N>H37N2$"^DO;-=Q)D!*8+L'0DS -O>BF8R7LVBV-Y+[0?K$
MX ?57<8LQOL,JNO.*KU]3MTCG_Y QD0+D-EX_D!XE-4Y8O&.0;<CZX7W;#F6
MG'AA%,O0GLZ74QM4!<=>A#X<0<PG\TGD3)WIY&LX%BD,+.F3D'0 Y$4]W>%1
M)L2Z4X"Y<WLQYEG=9\U]"NN%_[U5UB">]UB3&,J,YKPN.@JVF=%\N_*P\'U_
MZ<ULX%*!/1&NM(-IO+0#QQ%!('QG[N\-;E\*"3IZM,29[9$]6<P#6_@1'#N8
MN(MH$<23B1C(C.8+I,#QP:LZ],U_.$31XDHD*<VE0Q)>T1B)74>+IM]G2I^1
M,W>7,U_:H3?Q[<G<G=N+2#IV[($<].=.X"WV1&7L BW[&,+S9YX]B</07O@S
MQY[+./:GL71"_WAM*3D;YUW,=/Q:8Q0(F<)O7SMC?;(<^=[B,NCW4(KK&7C[
M#@^)?;"W:.*)"=S$I1W-%HX]<1UIB^5R8CNQ,X^7"T<ZR^5QA\4VOFX0,4DH
M;[GJ:9J']->[^#<9YJL,CAFQ$ODF+ZOR@SSV(%G7,_Y0)1WR9NRZ'9"2%G90
M8\E/^+<$ BKS,!&80=[HCY[C3,GM/NK,D05KN",^DA)T1=0\X7=)1K^"5T>X
M)+XHHTI/P9-KT16(.09(J?E6%K2!DA9$*23XEF *>S-ZUGI!B^9U"4^5WS_M
M(.B'^^_O#'4?RA0PTW&',AW7/>ITW"\8/NO.[C-&]_#PV4?9X,3SS'3<9S&;
MS$S'?;+IN#,S'?=R9CU^H!R%7SA'X<=^CH*9C'LIW-+(MG/"EI%M@YW\;J89
MGYV$>[+J<B//#(<T'-)PR'/@D%\S[MEPR %R2#.[_5(*>#$BA2&*0E[)K):E
M:5@UH*+#9PWTH5..Z9UH2M]U<HT[7T:>\%T[F$P">^)%L;T()YX=AF[@1R)P
MW-E>\ILW=68S-_;MF1,M[$D@?9LJX1=>'(4S-YR+R-]-17BMH\:'4P]^Y/#V
M;G%ZDP+O=S-F;/^S"3.3Z<QT,S3"P0#= -U(9".1AXOU6]+10T](;^;:4^$O
M[<G$G=HB<ES;G4V#13"934)G3R)/9YX(9E/'%@X\.0DIA=T/[-A91%),%]Y$
MAD\HD?WE[65IAD\-0#B<<#BZ\8<\$C=Y#V3)69IPN(^R2K+50,,$SXVZ#+@O
M =Q&6QJBMN0OQ#)>^)X=N-'$GBRGH0T'D7:\F(3+I5QZ?K#724BXSDPLO,#V
MY\*W<=Z#O72CN;WTPCB:!=*/IGNE%(_IOYCY9H3YLV(M!MP&W)<+;B,XAR@X
M8QE,I_/%S/8GH6=/?#<"^1?']FPJ R^83&?.U-EK0"'=<#)=^G8\<27^)K07
ML^72QG%)<1@%KC][2L>_/W>-X!PF:S%I%Y?B9L V%50(@9Z&2%[)--]BN:CQ
MYPV(W S0+PWH1HD:HA(5+N0L%N[4GDQ$;$^$B&P1SJ0]<[W%5#BS2$IWKS5)
M[$@Q%W-[%H:8<3$%_6D1P@^=1> $8CD],#C@$94H[[@3@0R;.2LV8X!N@/X\
M@&X$ZA %JIR%P3SV%[871S$.!@!\SB;2#A>3>"%F(O:$OR=0%R*(P[EC3P7^
MQHL7]C(*EO;,=Z?>))*!$P9/*%#=Q3&]$H;-G(%OPB0_/#8W^8O,9"%2<DJ(
M")Y*R@H;5UU)XP <!)$]56^,YCH:Q P4,481&Z(B%LWFRV@^P\:4\PD.2P[M
MY30,[<"-9^'4]R+A[(6'X-$HBH1K!YZ<V9,8VUI.HLB.I8@<.0F64^\I/1MS
MYYA9J*>A"C/DV.0&/"=P&_E]]H@Q\GN(\GOFQ1/A34-['OJ!/9'S.4AE?V'/
MIU,Q ]D^7P1[+:;E+/0<+#J91DO/GLQCQX9_32E&$7JA$_LS]RGS(OTG3^\P
M\GO 7I<=UU@7V&JU![ECNJV0W0Y(!X;'H;,IZF]N_)X#HL"3 KW/*;VQ-T5.
M&>4U-AD_+\UNZ)3U-,7#7X!@HR$.44/T9['ON,'4CF>A#SK>8FDOY7QA3R?3
M61S)F11S>8PA)(\9:ALMIM-A!-ON)@^C*@Y"4!F@#Y(ZC'9@M(,AH/RY:@?.
M0KCA) KM$%-I)@MW:@=.[-KN4KI"AH$31F)7._ 7431;SJ4=^AC_B>+8#I8A
M_(_TX_DTGL^C=BCFDV@'_MQH!Q<GJ+J.)/@;QU+]I\:R&KL'_XZ2JUL^A9\.
M9AK8$\,507'D48>^'SF1](0]#3&./)^[]D*(A1T%CA_'LRD8&4>Q,G"J;E+1
MW+K7&;"0#/N?R"Q,9/E#4H9I7M:%_" /SR^D]R=9+:/7U7TW_;_N9PCR\_=F
M<?1[\X@S#W>Z:W_%]?MK7DG+]<=6!W>4P-7#WM%&"1YOXP<'\>YT_G["73U\
MO.'LG"_F0W0B?ACW]!('<2?A9[I-G^).GG;/=]^(>TQH?79WXC9HOLNLU_4*
M]FYY"QJT"O_[/DFO0&5^/X:_<*I[:;W T:K_^B^?X/OPU:^I2.#:Q#%_$+WZ
MW@*A1</$!(UWI>\ML8+_P+KXTS=)=8-=S7_+P[4LP1H:T=;^7UY\)-YX)8HD
MKTLKQ.>DFNI;CJPX2=O1KK^#L@S_>H^C7$OK!\R%3<(*^&I=5"/K[[1NUGX.
MK]/O&%E5;HDHXKW #D5V0^]M7H537P4HW3&<0V35V,*QYOI4G3.EJ5S!TSA;
M=IN LGV#*U\E>0I[LK9]P"Q?X8&NDM0B<PN. [<S$2GN##="G]+.K%@DA07;
M%NE(]3H#"B"(;(N\E&&-2CUOJH&^%<)?FQ*6$I7U?IU7[[=P-66!PSO2.NJ.
MTMT#/[XU%@' "?>-;PQ!N8<_5W56PE)P4-#P+7F5P)9#B8_C+HK.ZSMGS+.K
M).0=OF-4!:),2GU. AJ/VQW1!^T1U@#VK:P2_!(VC,/BF_G ><$XVJ*1E%Q)
M*Q(;L5+-X')8!Y\ME7!5@X3A!4D6PNF!J5D""+7(Y$V[TQ@PS5#4ER"0:2*O
MI()B;W.= S*@P9(CD.9U9:$R6-&;X9Q14FYKY*.XP :NPRH'BB_3F_$Q6-7!
M8=+>Q'4F[JSYO^?)N=Z%51[ /7 ]FKGNCGH$SLR#J!IN#GD!4G%=UDG+F_[V
M]LV/UB\R2L3(^OGG-]:+?_T7?_(*/Z4_OL?K9/T@X6>(_/?U%J>&%\QR^"+M
M\P:Z2;1P0EN%]\)7-]8F*0L)4"G1'81,!=90XZOY#E> )DD<KD/,1,.Q2'%(
M=AC6I1I;#=LB8QLI,ZQ3H \B9*NL [#-2R27H*!%<3<R0_NQY%T1+:>I56YQ
M0';!D[)QH[167FSS@M:*R,@O8;5Q;T>EE!]+:P._Q,4SZ]M#>L,S\"7-O=ED
M[HC8]H4+]IPC/3L07F3[H3N/IM-9M)CNY2)-I]-EY$=S6T[$TIZXOF,OIO##
MQ=)=+,(XD#//V;4!?\[+LM73;GY@+O@^K^&8?Q-I?;L;:=9S(\T^7R#M.+<Z
MD<Z)*P"9I2DA*>N+DJ[T>*Y7-O*$L_#G"]OU7->>Q!/'#D",V*[O.S-_NG"F
M<K9[95W'F8KE;&H[ ?Y&^H&]G"QC.XK\V2)P%G-_ON?^?)PKZU[@E=U5=HP&
M<<KDK8ZRL!&H# +'D"A#_R%#$H>HN*:H@X=2HDX)^B5HK-<H/N&_D835E?#N
M*N-@S("X5E8+;YC$/7P(*G%0EX"($J5J':[5#T<6SGNRDAB>5]IE3B;1"'^9
M1J HE"#F]:*D[D9)A1HY+%D"$I(8E'D0XG&2"3#G5=4@;!"N$3JA< 780[BK
M 6_$1^2*>,BKI,1KB%JXL-)$!$F*AD,!^@]KMQH@0)&@"0 @UKCG"G5@N!IK
M7"- 34.!H;,&*OJ!Q*<S,"-0Z6#E!(TLN""5MA52X!P6G ,>AO>*,D?-!4Q"
MN%\;C*?0W@&.S6Y9+2_ 4I'7,GI2%\:]'!; K^0GM%#D0]U9Q_?//]X0PV."
MU9WT??P8*%DW";=;N/8<M[)%#*=[*=)K<5.^^L;ZTW  _^0!IZ^_C4:V' 8V
MEVSCYH'7 >-DMX0D)I< YPTK\H]D<I57B7:.-&P.C*RJ2HEOP\?,=(LZ51(H
MNDI"XOO\!0B(#"RZ4<<QDF2L-R$[)_?(%84AP'RMP%95O!QXOL P;IV*0K%T
MHVZ<\$J\SD#KC<45V-<H(_.Z(G6#4'0#LK)*V$O6B%<M^?^H$Y!Q6W%#<ASE
M?1V4%0A[E/)*41Q9>3%BHR?+)"O]Y#O M=$1D:;P:<W:#-X#_#0N4$.G5;4:
MTG]GUYT"-P:V -M=Y7B!BOQ&I+"*VA;<YD+]>$NS*ZN^+Z;(-^1VP)^&? WQ
M)*"1X(:B&NAA;+U&180UG1$Z,QHB@$?Q@'"86T XHG,J)4+#KY"Q+-!_":08
MY*!4PPI,'[<">RVNT(V"1%B0#H5>$- W9!RC2IAGW5.U'D*MT\$F ;:L+?$Y
MR(FM-3+ 390T1!F*<FW%:7Y]0BW_6<8T2+U]][>W/]CN$NXG0'"3A*2",DXX
MI"!Z9 1:*=S)5%.81JB%=N45X Q>?)T7:03OD]KO&PI\:@7V .C0Z+\&^R'+
M\5T-H@']I!D?#&$H!?V&.'A5X#M$4.0B(DI YHQ;(2]B"6C 5\$]S L@-G+5
M941%N&X),!41/JW//=(KXTU-U,M*?"_(DSQ4Y@$L!N#/K!501Y$Q'1,)@(C*
M2TEF!T53^"BM;[U<2X!C =?3WJ8"I1%Z(Y4?LX 54BL0&9#TW]<)$&I)5$K4
M6<J=3?VC!G,I4N_@MZ/%\0FE(!I(NUO@Q8!XI HG=!\ 7""KK"L++RE9U+0]
MT@%Q<=P\&2)I$FM[HN%2<*/A$!49=4U 0#.\O1N%MF"9 V&3B.=#]_9"(,^)
M\J,$EPV9+Q!O96"CV:G3-!"IS'^RAN^PJH!\)ZGT]27%0?&9O(4Q[A4]P<B[
MVINH%V#.N$\5<(W70( I'E[QY;X7'4U-5%8('KB)EC2RZ/".NA>%M\VSC$'!
M$05J'^4._V/QT%U@%RZ!U""!G?*95+R(PTVIR%@E\AS/&^_JN/?/CAH$GR4K
M49U>=&L;[IO <W;,NN>$Z6!:D-@%3 >HKF",DABN(JHZ0W(;H0(![!0C@2JL
M4PCZ'C#T!V@\275SX)EMGJ(6'11U18]PDZ66H#79;X U,JT2-P(AHN/@/\BX
M5DZ,7VFQL0Z(*R>%TKKQ5!%0?%C!B7)4SIM_\?GT7@1Y2X' HI54<4U\ \4R
MKT XL6L% SY%@7**HJ,YQ9A(@I5PN2A<\ROI]0G M"J5Z.EO1Z1ECO%1N=ER
MV(>COW@4(,)0;NG6-2QP3]\I\[2N&N\+(K-(@EH[B;K) N@2 AUNU( &+A>
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
M"C*WV1%,)$5;HQ+'L?5[V7C#FQ!Q>Q ,&P3 _@![+#V "</SZ>$('1?QL;6
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
M"QXEJ-^ PC9##BXHI0Q>0B7,R :RFK3_6QV4C0[>],UOW9Z*UZC98)2FW95
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
M%2.*CM].9U"8/C])-'3\&K/LN3/-H6-EZ!1DS++G(@M]9S$H7)^?-+P@#FM
M/2!*.!MA]CRQ8F31\671\C'[G%ZB+!HZAC_;&Q7^*P#V].=M4/[NLT!VO0-0
M=K\*RO^HRRJ);\X-T*]CX$A6G  H5E:UEM9/L+BUL/_'*F0J*AE956[E=6%)
M463P3(F?2U%**\X+^L$?M2AP#0FPCZQ?1!&N+=\=69[C>5:>P2<WENOPOT?6
MM;0V(@*ZD=S^M,3U<1F1IGDH*NR(FL>6V.1 BO_D?ZLYY/3&$,"<;^!UM#U<
M8)UL+9'!/@M8-Q,;:259);)5@N0IRE)6);QVG<"VUB*B=Q6RK-,*WU/(,(5G
MDCCIO'N[+?)/R09.G]Y8WSICWP*0IO@M=6@-\U+]]DIFM:037(DBR>O2RK>R
M@(4 EFK390.G:EU(.#Q ?ET>!-;8^K"6A;2N16EEN16NX1"2P-\LJIK#PHI9
MD_++FZK6HH(=;0%LL'"2T2MW<3;N4-5S)9X@3Z,O(QU^&'?T,JE@O^&MQ/2;
MNA'W ?-D//7]SP-Z=LYP/B:3 KK RUX0WP'*^W8V]AJ:1'+9%D"N!2QI:=#?
M?;RNT'8'<$A15442U"3:D.HS^(7F=L#!@)^(C#DF0$!^2DKB" T_#'/07@0P
M#(%@&@'G UZ;IOA?8.G BI+0^CE?)>&_E9IS6?AR>B?"D7@H #H"QGH#/ 0X
M:1;!_R=>)ZR??_SQA_?\"Q%6S'100"#K<I'EYM9_BPQDP0TSL_LC8CCWS/H[
M<%\\<9I<X8T#WET7A(C?9+G- 4!A4B42H%O*L"Y0.%XSHNC?27738HS@24B+
M-$-&_@^/%?B&%F^THN',I^7,;T!F&[9\:K8,UZ_'EB/@,2UK!@X!9^O]P!U/
MFA\ B8">4^99)E/2L4KD7:*CK.F?1M9:BB@$P%3T"E@8-Y4 2XLL -AUM6ZX
MF0C_J$'1U+I=GQ7B.[M,J\<UV[<!Q[MJ]L1Z)RK+>4O$D=RF^0TRRW)LO05>
M&D7TRA$</X_J$'['OVX7#4BU;(_?PFGGU&6]W<*GY1I4.^#OS%C:=4HX3P[L
MAK<@HQ$<.P'C=@M:^0UPZ "5YH/O=KN@Q[? "_"%':&#K\H!C'<N<1S^=<CV
M_3K*:CTNYT18GK\#SG53DKF%*\"."UN@Z?92I-?BIGSUC?6G00'^B?U_1H8>
M7X:^:\S0'Y5M>Q2 /SMQ>G^(OQ>IXO>_B.*C[,+>Z#+'9;DMJ#<-J+7?J2_U
MW/&L$9SX?-_^5/K(KJ+C='ZTK^B H,5'YIU'U&_A6=@CJ@*X(7Q=F&\V25EV
M_&)*3HN^JTJK(+2;KC>M(^$_YT1CSUG7"]C7G8S%<FKJ!YM3DH,0$?,#F.QI
MOB5[W+" D[" 'KRC#KP/\P%GO+R;#[0_:4D>'VX-F(.6CG+$=TV5CB%C2._4
MI/<7F8&NPZAZ'<%325FA[G,E#?$]DB^AZQHX[$OHDV!79*9R!<A39#OJ_&PG
MII6*Z[).*LL2*Y%D967][>V;'ZU?9)2(D?7SSV\H=A-).(I@:U[LBN:R+R++
M.MCF(#^U2.X_3G=((C&C$*\S%7,JVYWNR/#NCQO^8>OW*<ZA1;]W\&<[UGM:
M1ZA(!'4)5Z[$C\JZ$%DH&R:GM( KQ:C(?JX .CU.R(I(HY>HCPU?.C5?>D?8
M?,MQOQ>*%7T_@K4JPY".SY BN4M(*N3Z0MWX[V]C3=U?)DA"LFSBM=I$P(<0
MT+UGD$.8:,#)"4F1T(>=*:N&<HY .>_JADYHBBU&)*V E."<\Q+ 'JTYKHA2
M&!ZBF*?Z#4L=$:*(BV6$>M@(CHZA1OP*1#)L.<-?,;& U(P04I*^HSR2:UH/
M*!!,8/@^DNB")TFKPP)7(JV5\.4?H C46@!(?%E0= _>H3-(4$/?;N%.X=H[
MJ1K;9I@O[J!W]D*&F#[6I&3<(PODIWLFC,#_*E:R%E<HAC$GI,T527.0[Z$H
MBAO8U+4H(C@$@KNSH\X^49HG!$3 2@?&\%6>I3='XDB+1_$S#\.Q>AMY_)R
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
M/(W/)SC]+V7JH"5W):?C=KBE<]G6Y96R&L;IV:@-*M;?S]\Y)3(+["RP'ZO
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
MS!#+3*?> ,"H\IO,U9RNW''I+&+/"5!J(5(; S+F_M'+.C>S7#Z@7)+@<'K
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
MSO^:+ZPQF)RFO[Y\_=/5%X\?7WW^+$ $N2#'Z<5<(Q>6VZ73&!2\II70&N,
M,IT_VJ 67HQ8Z3!1&@6NO97,]"$XA_OZAQ=/&7F1O7PIGS)XL>1>>\XK\\6L
MBJ@,# ;KCZ?&/,J^#4!AFZX@]_@)]WBJ#](ZF8+0QF+  FAX.!$IOQ3:(3/%
M"!PG7N ("3,L)S+IH16K-4Z I'X6\AP*HQ2?:/9E[EV<CL%Z.,^2Q%*!.D[K
M&K,UG&IR,SS"70C BY"%CD-,M5\X,-9"J@,RU/+C5?CLE3M%[.=1K8:+#P8A
ME+/MWN)?!]@:F6RPPX:\E( #QPS8'"$,M?+@CP:K39,K3D\PX7!8K,>J:I!;
MG(%%OWU@T><SL&@&%GWH4R@JE^VU("&G,COO.L4T#.8Q'U=F4\XEQ_<I.<YY
MZ_=O>DUAT$=[I F8J)!FH[VF$P:6.EM9.W8^&F@Q9ZGO63_%Q,HQLD<PWQQ6
M6;6MUAF&OGP9]V3&66/ND"]<J]/N KIG3^)^)*_2:L@@# /-C,_-VA-WW7Y@
MPFBF]'5(Q> R%?/_KRP5,IKO&,V@6PB,9!$!V4\\^LM0K;ZH 4'JEEN'45ES
MBQHMV,'EK>^-C4;7W#Y)!]54%*\K'8XS,5<GKOR.]^_=QNR\/%8<L$+:!A//
MQ2M\]2MJAI"!)F0LBZ0LX/-S25T_0&6/D5(I87LPLG/0>\\ZR/+T]/"[H1HZ
MOT'8:S^-**4]FO9P>.HW^U<D @8]DP8]' I,&4?24-N>/1[AZ,:VX[N\<.GI
M3::O3I.X1TBYV]I-(T"(B%#6;4F7K2GTCTI,Z0!9IC3Y5F ^DAH/3-/";5)X
MC^M?_K?)ZW7)JI)@>9=+']N<-%82/*.6UB[;##FZ6ITF#HZ?ZY8U\Q.2@^*<
M_;*S^F6OG)"_,CV9\-#D58?:1B==#9NAIM.&H:^NE<R1<1>,ON7SE&'\N7R%
MBQ*K'CA1NMBZ]!-Z)]./:6U;4#KQ,#(A&1"UVTJ<4HQSEI,7/H*MG)QX-KN.
M]YVK'!\J/AE<@A5^HYP41WUEIZ.TXAL;<P0!CMN&]>^+(Q\.T27@W62"P:E/
MKU(6@"E6S6&G\"_U1)B/T@X770S>EJ"T1].;92IW?-4UJ4*%(O9*%27S_3C?
MZ8%D(B&K4OPV4Y3HVD%S,0".-WG7N^B9)AXE9$ Q*R22+5ZX(]^VB4:AT"GN
M@'5GG.5([#Z1;; L[J?'"RF>KRP@MSV'OJ7EX8Z+.,)E8B)A%.F5]3^'EE>I
M:J2R695K,B%_:D@XIXY)H$.\1<?<X5W3B:P>@5J470Q"741VVAZ0#O(:!U*
M@Q/$#]%7R@"O80\V@M=9O;=L"X&%<EU%@JJ4YDL!5R>UVD2X&T\D#]F@<4]_
M<G.94EYV#-7ARI#6!>B^]'UNA)?4OXY,0Z%MO$5\VN.%%HB@;<^[# %-^DSR
M['MZNJ>/GSZQXA:=/QR"[_/55^35T%>E[L_FQ3 7W$8GT -2I(.Y(/4AZ!3^
M#7M_TDL0CKZ>;KU=>?RR6O5/B#R/%D0DM&GMCQ-'MC;]QTT 4II.35^T)1,S
M0&_P!?JW,:6T$H*97C0*H(FUI\?BTQ4U=J6O,SK<YSJ6LU-W5J<.QY2"67;2
M1B/%4BV(<]:5+;O?D/DNZ;<2A75\C&;_Z!P T&3$[]!)GBGO.HH@C^%2$X;7
M4JLRXHO5AG>HT+31,SVWLM'<@'!HI%6:]@V\+!!WHV/9<\^PW@Q7X%'7R3=3
MM2,&?I&8]XA#S!\G"EH9%!5Q)UD5FQX9P"_)+!ICTL0YU!(NE*Q,Q^NEQ<\_
M-;=;*?/.Q!\M2Y:#D:BE6)@6-.][1NYSS$*WNZ+HIX&=X8?#Z*9>FP+4+V+,
M!M[SV"D[WB*Q.H#*^P[IGX>2[L>8,=FZJ07D#""I4=+A%@"U(U*VL)Y*FW.T
M<.1^EGEH)R?GH.>GURP6 _@XJ1>P==I58=9:@,0_6R= P+Z(CRN ,6U!9P]7
M; P]24-^1R%]B14]3Q6>OZ&/;!2T^,DZ\0'21(Y<[$HN)NE83HDR.^]RW[@Z
M[^*F]-$\<F;/8O7 _A^]3O]I0C/TMO6:.]3.K0-'GL61X?*9U='D^=;#,X_I
M<FLO(*&"B?JJE%N->":O.M\*VADQTF@<8MQ%<\30>S/*:$2^4*C&)C5:[;JV
M=,28LZXFI[82#WB1_??+%]]DW^,X+K+OOGL!S.ZSSY[CM_R/3\4)1;Z#EH1A
ME8(9K436E@YUC::UAT4+\38O[LZ?R.#XG)O$VVZ0CK["T0[+9H&P<BA[7YS
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
MQ)BF"ARI$81>.#&&B!'C8*Q]+:@"P2S82BO\VWL)YU%K#\1NI1-=A6(%7'>
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
MW?/01S7+SN7L[2P[#RH[6(\R0IE6N92_N&!58/4X H'/C:\DWIY.:PZ3 Y4
MP<^:PPVNAPKQK]QB%K3+.0BSH'TH(S7HI/1 7;#*NRT@ 3?X\WH(D504<2)=
MG::0%I$X1GB   "RU),/":W*/-,R7>"!F07R0PEDLY2&PZ-J 'T4QG"<NC4A
MU:Y2^D2<Z W29BG>!8/6LAN@#&N'/ASD@Y)>QX($$U^I2A+0 GB3=R%^FK.V
M[P:LYHX?( !C!&^8=*3YUKCBZ5.T9<!35\[@H=S;@P0K.4JM@3#W;4,WUF,V
M/>F/:Y3AXI_TVZ9S4YEAH$*'K@M()LPK<YPFV.?T#+1>VT\#3BPN6G$KSC)"
MHRX/A@R-1E%[5*@U4-NX4BU#5P??"30NE0DRS3_JC756TVT]5K-PZQR9C^%M
M&7,&Q;[7-Q?9%BCX%1<&I0N2V8,82TL+)2G<./V\;%H28.0CI15?;F&=X<(I
ML-O177)F22ATS,<^/\!HRU+Y/J,>PKUTR8EBLQX2N<C#(E];N5X8D-96ON(O
M1X^VL#G,]-GHH2BZA>\ /QW-07VLL:*7"4ME93$NU']-)T8*;8^?/N'*A.@]
M 8OES+:P;MK1%MO&)B<_.=J^>?4O0^VR9X^E@,5(6P7XYQW/=S@T@X?^WP1D
M0@2#T$RV8NAP9<A#]&K<&5A&DYD#]4KXO-;(%L<+2,^]0C]8OLF!Y]5,N$^T
M<S9>WI+;^L)L4Q;4N+S"K\>/OZ]<L5&0MP+WD#:OJE%9(.^B6QDB\/B<)Z#
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
M[1@]R<\#SI0276&!D.!N&5"^<0U%%GO2*FABD!4(>RBW^K.6^5]LR5T918P
M];9R5N3[.,]T/IE5AT?NB))+%S*&Q$@I90KJ( ?<FEQ8J '8X@*03-Q;DU\(
M;Q$R%]:*]$ ?W"A?,%NPH*F<\&S*221:=$9,C$.Y)]S$<I+:**AG50=B=IZ\
M0#O?XJLF#YH,K;(GU8WBD\A_\Y,$\SKXNV:/A,,##K+_C4ZKX7V+SJ&_<WH:
MHS'3"F5(N"42%$,45Y*+OD:R06AH/>.E2>T</YVE%4_A0F_<X4@[\)GS6N!N
M7J?,63>V''-Z&K6))@#F_1S2)IO4(0B(1O-&NB.I\4T[;IM7Z[&-]TY"\( 2
M(OU CFZNF'#?2-..4L-&S#8VM9*?WVL-W!,W4,W"BZ]*6AT#3X8</;@1[/#U
MM,G _,$X=\=HM *-C^/M4:7MY2,5?N9A" \4\3[S6T],@<%K&V>VE%V<C.FF
M,U@6,:U]I/^9 8-<//(2R-:LMJX8*B397IBGMA@MQ&I;[GV>I_!2[K'2G9*.
MCE-(XCS$F2G=D$W5+*'%Y0Y*DR/'P!JKS<NBI5H-RO;KGV ,_O-G"JJ7,8P(
MXIG?*A@J#.%CCXT?U3MM1^=[4M5;92A%+R]BRR(10=<;)=:-\W0E_I1,)3OX
M_I-2(HTH <48M:@TS#?N>U3BW!JF%F+2A#M2UJ5"0U5;LR.MZ8X=\I#W%D[.
M^MJ39\<4128X$UIXP> >VKT>'D-J?7.&MK)&@L<"%"6SNZP/C%Z=TL-\9K:Y
MPO/SO1])S' U._)H@T*30)KBUU$#"E"RJL9+O:5X':4<P[N$PSS?I!8H9\==
MR2317'V)P-C6D2&$!YF@*TM3?)*U]TBDAKD*E  3_1?A#15@#>A-9_#=:%[)
M(LJVD9-MS9]1ZVYHF!4A)@>I::,\L^NW?$</&DN[P&>(S6\?8O/Y#+&9*7(^
M]"ED5U'[7N$M(Q;PH5]SRCT?SR>9J/2]0YEBKCV<'Q\36H_&HR/]L.)X'I<8
M52/E]S!AQDW9P)@[S.6V>_+5TA1,?CQ<5/H?*% [FD3J*Q_'D-:Y<''OA0MK
MU3IY2F0D:-;4X;QPR _NUX;A*'%WM6#+/1E,-'MJ5,1ER%4\S#V,]XG"G7C>
M[= I-SX=GU6I_#OHW@G]]U%P(SPU=NR2QDNNJX2,R.1#'(' G$&ZUT.]DOQ[
MG) -$L>47G!0E8DU9ESO,E<*+Z/25A9*W0,.V'(=O:\F[91[7'NH%IQB%Y^Z
MY.$>2QWB+9U1O=NT,BHP[D7R$/$3')1A$IT0:O(L.FG;2Z3<LP2/3\EMZS9]
MX7%[I!)]I6JDX;N_Y5TR83RS#&T8'OXH^WX\)=SZT"B$VNWY)   TKF4D,7:
M_0,+AC0$8"IZ.J\O7B#M>\8\!?KXRF$3?0U($5R^;A,N?01P.CD:)M*J$Z1)
M1LT;H(A!>0IMTQRDW[_N%,B<LPRJUAEE9Y12EI-@&H_>;H;C67-L :6LP(I
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
M6[&N2;22Y/W#:04A$0CFX7+Z%LB:+)S$!,DL"<;O(*X.X@.O!RI1V!".5;"
M62,9#AM;YF&WILGN.?PQKF<=+OO<7#6"'T5S:Z[H8_&+VC4J5'B")QWMZMJ6
MQ*5AFXU1ZU(."%I.BB9=-P#64)IFCME0S:Y6..GW$.\=ZQJ5":(+P[@V*<>:
MT]CQ957EPLF(_L"@ZEN?*XA'1,<R&52U4)26WP_=F95MR\1B?GGXJ9;-=F8"
M4>/VVW$_7*3HDP@$+B'D:>'CX\##*1OFK*%=D1^OF[B>@?SB+-]>I79],BJP
MG>0@.R:3+,._Q$*E#1/&2M"MNKF?'2Y 2P1:\BI 2QX-6A*\K&L0?)Y/K#&0
M'#&?UAX@KXL4J<_G%?Q)N![ $E$1(D;%EGVNE;I@+@T8O*5[YZNE'?27N(3-
MXYA3N$<CWH(2"Q3:E"<U7%_#+D'\! X=_.MO/WO 8 S'8CGG5;KD<LZ_O#P;
MG_1E%>\V34>GIX^7=MPGZ<+%&5?ESN44\I>7Q^/32'Y72H#SE +/YFJ5<K@)
M5L%+JE"F4B8L9/\78L8QS@ZG(\D ]FHYO.@O)^-7]@T84D)OB7K2D2^.*Z9=
M^\*I9VJ_"L[)NT9<LK\54X(I$*-P_R*E-!JN5#[:X^KK672GA^-)9*>B#7&
M#][XT)'EQL<7V7+GH\/C5S0'51^$CMXM-BR^ +=5"ZQ+0T@',7IB[#PK)[^0
MYT81&D$5C61>/DF(\/CL2',Z/S'%;A9]Y(K"Z%W!L97)J[,7A$B)ETC4FHPH
M+%.NM!4 N;'TV/."?#];/U5<YD*MR0<.1XS8PF![IAAC?$1GXME_GD#ZF>;C
M!IL_CCZ@CUE8^A]^=]7F1+!#&W& S*YEJG9Q@25IE8--=KQ()'NC[()W_6),
M9G:^>\RX21X^2T("7.1\,UJ2(ZY39"B0F@7^2!%EZS;-YM"MW0B<)%CIJ1G2
MDHVX<E07T@K;.(!]31HZI#H<IE3STBA)0A4Q\R9M3]T61OC\](@:LC4F:[E5
MFPMU*@[Q-1Z$B%Y'B70'S)&\M RHU1L,5GY:^XO >Y1,%9V6VR>2=KP$0[B9
M!-?*5B6+39/S]/')I[@,I?N/$EIS232F^_-K-699G"Z9)Z-HU8YC!-=4=5?D
M?;1[O=FLD3N+>EFRE@KDYISP'KA@>E+'P9V\=]+=SUH;\ ,B>"0ICD<(&I07
M8K#Q5-V"A=&+$.W\E!'1,$D,#CR F3$8J\+MY*+(+LA+B:=2T>=(*V'U:34/
MEM2-B#0%25E:A&K@3-14D(9.$.PZ,]F*,#OB9Y Y1$8EB=@#$9L=@!''41$
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
M4N3?T'FW%6+QBNE[%#9X 9_C!6S;6SZFU9]5]-$Q">+*_<TR_<)*1:\ R4Q
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
MJ><CJ1!*"0>M 2G;T ,I(0H>HN 2!?_P\7TPW<%TARCXWNCN#5'P#Z6IX,+
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
M6W*KBZJD$W6FP6KELP(?6[M9)Y6'6.I^Z0<<%EI2<CF,!,8TN?L@<PO))T7
MR6SV0=/67>^**YA:0N%!:- L4Y0JJ=]=+>R<'>EUO;L:]<FK55S/,-UGMY<*
MBQMD91QQNES+W=A@IG([+Y*&VM"N2LT.*UKG=<M*FWO\)&8NC-S$[>] 81O.
M HK.9-%S):+#ZY,<5/"L3_\%4$L#!!0    ( $:+L%1*%!E<KA   *#L   5
M    <W-T:2TR,#(R,#,S,5]C86PN>&UL[5UM;^,V$O[>7Z%SO[2X<UXVM]O;
M1=/"B9-%@&P<Q-EK[U.A2+3-JRSY2"F)^^MO2,FV7DB)LF633 LL-HD]0_(9
M#F<XP[<??WZ=!\XS(A1'X7GO].BDYZ#0BWP<3L][7\?]P?CRYJ;W\T_?_/BW
M?M\97M_<.7?HQ1EX,7Y&0TR](*()0<YWXR_?.[]>/-PZMSC\_<FER!E&7C)'
M8>STG5D<+SX='[^\O!SY$QS2*$ABJ) >>='\V.GWL^(O"7+9Y\[0C9'SZ=W)
MNW?]D_?]TP^/IS]\@G]G'XX^GIR\__O)R:>3DQQ;M%@2/)W%SG?>]P[C@KK#
M$ 7!TKG&H1MZV V<\:K2?S@WH7?D#(+ >6!<U'E %)%GY!^E90: X%.P@O%*
M\2?JS=#<O8T\WKSS7@[/ZQ,)CB(R/7YW<G)VO.:24K"_^BNR/ONH?_JN?W9Z
M]$K]G@.]$5)>MT(E*_+7"OW+&:<^_?CQXS'_=DU*L8@0BCT]_O7+[9CC[$,/
MQ2 UU/OI&\=)Q4&B #V@B<-^?GVX*11"9U%,%U$<(\([E/7 R=G9Z7'LOD9A
M-%\>,Z[C!_COMW$,7<NTXC(*?112Y,,OH _8A\_]"S=@]8YG",7T:^@F/H9/
MH?&\#3.")N<]2F/<7U7!I/;MS@7'RP6"@O%\$:#>\:%!K[^EH\EH@0C7L4[1
M*]:P1S&HM^\RFB\(F@$-&!@8J-$<*8NBVUK,T8I+E\ZN@^AE;THAKV"/0MAX
MCXN$XA!1.O#^EV"*N7:.D_G<)<O1Y#XAW@RLW3W!'@*CG1GA 30[1\\\QA#%
M+@YHDVSV7>]!1'83@H6>XJ< #2@%FW:'8F:\_21 HXG@R]:RV;$"_4*X3N(J
MR6 >D1C_P7NR6Y&TK>X@ LKJA &."/P6-OK&@>=%"9B$#:[5)P_(0_C99<A"
MQAX3UXLYR-9RU-&J?1OS3M'=$[1PL7_UNF",%*"-XADBEPDA8*]3Y5.4NA&-
MLTKX'$T*XS8*IX^(S+7)NKDM5HD6/B$)DJG.+7:?< !>%>E3[FU;:%4W<$@K
M?3)!ZHH-.IR0P;.G0<$](N.92]!Z5L@"AR3F#GTTN7 I]D!'ACA( &2%:SN!
M[J=RF? \-_"2@)?),C<%:O0:(^C,=3# 1'78R)^U4]#2 ?$*#76)MVHC_%II
M9C%]DE$<4R965EH?JIJO^"<DFI_W$MJ?NN[BM]3V9L-_+<IH0\ B)S;U@!]7
M$!0\NP&+J ;QI4O($H?3?[M!@GI.1'Q$SGLG/><%L9S3>>^TYR04FADM6!/<
M(.T3_5A%($M2L %,SHJ($.6^MA56C5*N+.R]NV138ZL0CN/(^WT6!=!2RD94
MO!0AA$GH! $JGY-;-,AR'0AF0PUL09??*DCP;7,<\WQ4%LJ!]42AEP=]:C)H
MJ:M@#O^WYH"U/$HM "L>F=$")H++>_#G,6!D/;Y@W0H3%#NP-;B.5:?]@N/9
M94)CF'*1%<OR+@H]F_I1S9_40K9*;]5M410*7(O1V+:QNB*J#.L[D[$VSLN+
M6:I5'"^>R%J 5 0Q6\D+I[?(I8@O98\F7VF:>;8#7(.I3?,"&QJ!=;4%7OUL
MG>6<BL.W#-T.P&I&9^#[.&WQ/0S1F_#27>#8#7)6UPZT\J'Y.8K\%QP$:QQG
M)N-0Z[4'ED\*D7_EDA",#@6U3>:LJ<@?H@GV<&P'6GFO7>,0V&[Q,_(%2WUK
M=/\T&9WB"-ST79K?KFZ'N(TH0SV:/+JO=D"O\90;WR]P(>]50051$0G?$A"1
M8GJ70:& A>.8N/2)@\E:PA*DI\<HB.GJ$Y8)/NV?G&8[P+ZMG> $[A,*9),@
M;4U53($*(:CQ:NZ%6O'K:YQ@\E1J89["A&;6J[. 4%_'2S*H8D40$VMKO-P'
ME!HN(-36:&%&5]AJ$:4)VET;=,MU7<RFSYK7Y6'%-KR&HSV,ZO)HV_QIH9$M
MF36J?UW:5#(.:E@TZH]B>E2B2VK<9L*K=Q-*K%K'?3'G*1WL!3*=#J,YPR=S
M((V<VF U9/6$@.IY]$&I2=^)<<@9=,X$5;)SLHFA J\^: IY.#&N9D9MH#:I
M-V'3UU]K:Z!*'DW8= 5&;:":4F="0 U,.H=\N^R8;/"W*D6OF:YFQ^06ND*;
M;B<\+F?^;N%OXS8:-IV%TYW%O(PH*,0#>D;A9A)67)QF!,R.\= 1D6?L(3J&
MZ-&.S4'KR<IJD[5P71H%\-D4 'YQR>\H1VX'R/5N7#;$10 WWUX#8QHT)X!R
MHY(7:!*1S%" ?4#TZA7"!P"/0Y<L;Z!J/@194!%Q88$-10112_;Y?2: '4+8
M"18NBF8#8"6<<MQT]>H%"3NDSFP1_//SJQ1&XUZK?[U^%,1C R[0Q:@(;3U@
M1=J?JFJ!,%]"?KW-:-A['<>"E2R1]M@@)ZE;XPFZFSD$Y(1Y97:^+$UKY3-:
M=FS 4O)L[*X)*)2M>@U!&D'$ 9:=F]$X%9T;*'L&ZP*%*&_(<NCZYL%K\$PE
M3;8"DJ+3$2BP%?!:^1X>PM1PV# "#^QU+)>6DEW^##:*N &8Y8$_QR&F,>-Y
MKB!5WI%VV.2]P+M6,O=Y&LU-%8>O->T6,NA/TI<U2I:87]/IVQ10$U&+-P?(
M&;2!$,X\2NTNTFAKZ@%,= GX/FO4E\ZO3L;*&?T<A<:D_A;I"DF6OWU)^NU@
MXZ@44>HS(TWSQ;))D=)K-"\J&12)G5!@[6SC3G-H7VBD&H_&<5X;O4M&=!V/
M9@<E"-)KG$N56N^J5=N!W,"DS\LU!1]BS]? 9<RR7$?W,NJ.(P6-*Z\!%Z+F
MXF35CBQM*X1UZ]K7,-/$TS#=3^4M'XD;4IC+,#2AS__*L/G_A:E-MFVQ>-I$
M.:EPX'UR32*J;IF3<OP522E:^CUHF=Q#=%^9,::XY0X)P<6PNFT4R)2U"N:%
MSQ@$<K'\2MG^H76 P:\FEQXI3@-%>RRR!.U-^ PS^&:T[I)WY&/$KZPE2+IG
M7"0-$S/]8G%DM[PKB@/&\?J4 AL"%(HBV;#+MF,+"[1"0DP\I>-T$(#$!'LP
M>+/C=L4/<I3WB. (Y.D1MI%XB-*?ZYP#_#)S06H/8""N)A/DB5<+6@Q0BX>@
MHL$9(G E'N:5V+%<LIW)X8'[9H"EU.P/QKG>W%G8:V_)ZJ*Q(TK8(Q9KF*(5
M?T"+S*V-)K?L_G:8IA#D6[._H&.7?I%=8H_2K<1<(=-O?-&BI3T"432P^3O6
MJS?3VW&3R([3&A)Y"/E\V8>?OAAQ8/3J%1$/4[$>F"<$8^ULW630:(GN'"KY
M"0]O'Q _QK!)R],1N9RY9)H3A-%WOG02-K#X'WQ/]BP(SU56[BLZ>\.&EM\J
M?>'R;,&<99B+<UJC[X;ISL#^XA+BLN6;U+;2/QO^&TH3=E/W:,+U@7X- 3W8
M71@@^)E-\,5JPA(.&UDI7[ECD*P41\EG%X<LO30*AY@NHO25H-&D-!MY_X;M
M!&=C[PF"O1Q&R5,\28+5#0QK 7QX>QJ0+EV79B W8?/E$VNA_/"&M:(JF.P8
M_C"[S45X''\MFG_]J413NE%H+86/;V_4U I!<GI^<]^!X(+,TS><3*P*J?92
MD8U,C%Q*;2^+Z@*E:@$Z+_99+S@)0>0(3.N)FI246D^("M#7$RT6P\0]I5Z
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
M1\T5XN^@X%JOD'W._GN" G[Z/U!+ P04    " !&B[!47QU$X)$A  "5;@(
M%0   '-S=&DM,C R,C S,S%?9&5F+GAM;.U=;7/;.)+^OK]"Y_VR6W>.X^3F
M+369+=F.<ZIR+)?ES.S=ERF8A"1.*%)#D+8UO_X 4J1(B@!!"B0:M*JF,K*$
ME^X'C4:CNP'\_*^7E3MZP@%Q?._CR?F;MR<C[%F^[7B+CR=?9Z?CV>5D<O*O
M7_[V\W^<GHZNKB>WHUO\/!I;H?.$KQQBN3Z) CSZQ^S+/T?_OKB_&=TXWK='
M1/#HRK>B%?;"T>EH&8;K#V=GS\_/;^RYXQ'?C4+:(7EC^:NST>GIMOG+ "/V
M_>@*A7CTX=W;=^].WWYW>O[]P_D/'^A_[[]_\\/W/YS_Y]NW']Z^S57SUYO
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
M_1KZV"@*2^%$X&R) N[V0Z(B%*:V,R#QQ+,'DZ)P26?S7]C>E4FN'N!=HW=
M@QJ3Z>/['38Q[>F!S_$3#M "7_HDI$,5CQ.'9>GJ4$:Y((&B>WCKZQFXIQ!J
MTNJ-1(7>,G:1EV=?0M\9&YMKBT(C!6EL($X:'7G-:6RP3<E\,?7]CN11LHEG
M40WL/.$[EVX*2FIQ&G.P?5E1^_,<L;1=,/@O_14+SI5O4+K8[(IL7Y </Z/
MKK.I%30,P0"OXX+PV) TUP]L7Q]$;8<W$?]<S&LW><CXD80!W4.K%BFI/HV%
M\C,M&)*)EVC.W["S6(;9HA+_>(7"W<M"'8';E I]Y\&I3F;G' 2AHT(18^5B
M&H4D1)Y-%U6Z2KG7?L!^[&CX.9UI'V5A.*I4R"1B#PB6P1//VTAP)%]]/T.
MK*1@/[W@P'+8=LNQ,)N \[YFNRPA0P==+]+J8N8/S_[#TH\([?.:[F#B+0M3
M/6//SOTT8_'0$&.O8L/##[,K:]M884H'+3.4'OR0A4U"NO4ECM6E@2;5M;'
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
MEY@J\'-5E]67"98[&C;V[%LZMW;?/-!/!%EQCJ<P>Z)I*Z^+7?4NLEC^QXL
MQSWR=_Z5Y=12P4(%=.&).^ ]CU)=4)^#+KX<]F7M).G+C)ASGD^NJJ@VPK<9
MU]XB)4N0I5E=UD"G3]WR6HC25JYDQAGO35@7+9PP&9?/H!+8)?E1YRR_,+F7
M<VD)+8I"#E/3!0T\*B*/5E>P#,"AU=*R*:J0/9,"YN98N>K<-V*,S>9ILEQ6
M&T+&9NXT89UC2K5TCFR_9O\\TN9^^7]02P,$%     @ 1HNP5"<LGL"5B0
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
M]<!)0$SJD(H:EF+K67$(B5&^/F8888>JW?HIB2J^.?/W4\,F/L!$/X2"RW+
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
MO3H"SH74&&.7-)08,65RL?Q;PCT:(K.PI3GWD<3<5;.76LW"%^+7R%8]=E+
M3?-MODI24"+K4]F;'AK<4%C$U;I!S:!Q8;Z9';[>KJOYV_N]6]V$Q_@_A9E/
MH\B+:;+-6K-0.SSH_F[48JY7*7;M\@]'H"H_.;4T(^1W@"RC!CK#8WQ*:/NJ
M+W=_D&O,7@#<XK>)O()HUN2Q;GUL6"Q\2)UE&Q1W*_AFJF.<50.G9B,/[KYR
M[#T[E<2P6Z:7/[[2Z(5^2N)\51M6ZT?T-'$;NR=Q#S[-!%R;%3IW=K;3_M78
M+/-0,H-?-!?>#K;F%@_C,WI!F7&P9IQ 1CTD(C7=/ZW/3L0!T[E:H,6EV)?J
M<(W(XCP,PF@+]7C*U:V.8SR'F7+B1]M@3\<Y_/D3J PZKI=#$Z$1P]]78433
M<W;*/2=[C8#K1HV:4UP $UVQGU0%YNM&.C^>DZ;F ASOHN)>/J@J>9 I; #?
MS'7H&OF1@_5R)V)"G1%P#J'D_)4OEC)5LGNX</^)8>V/^7-*48EI2K&L&'=Z
MUL<T0OBC!>H'RVS)/=";I(]3B]DQG2/T&VJ]6A]TV95H+YM)I>F7FW:(!CTP
M7KJEK^,*_WUM:K>-N494 B[?,,U8NNSW#?/&H<,YCN5WQI2,5D2(^L'N'9M:
MO[\6Y;#QD6D8,%W,D9&=]]Y;L_/>^/VDCB!4S! "0QP/G;2]8R@-!_JAFICQ
M]G/P#VA%IW1-P_"L^E0/I#!F\B^%A8VNXX"^_6]:;_^4QTTI8"MND>;B@_;G
MW'G_9.8\*J'-B?;58R<9\M%=:4=$>HS')V#6%"F*UP$@D$(2L' M"RU&.XO
ME\'$6M/@0(BM8689\0!Y]-XDISSQJ+:+8O-XQY#^H$PE,82=F@Z1ZK$328*X
M\])%BOYZ_@')3(U.R1"U#P]8]H!MLI8:$JH&?BIA3^=;=K>S?>'/XW@+]PVW
M&13<:W6=Q""4)XD-SP1@=G/,,Q-]'8R.G0/XKXA;Y0IPM:4*U])DPZ'5'@7N
M.F5,U_,5^$NN8]%X'FXY=M7YX8;I?>I'#] [#OS^GS<!H!H'"?I0*K;\8&3=
MW:G;IPQ35O++ERZ9Y'7#IR+ 31O 3-UPEX:9V7^Z2%/\4&^!U3_B'O>C,<IK
M#AHYMM2B#VE#)J#D:E9HD2C777MM>?ST_.FMGW9_PI/Q>C<6>]0,=L8\@ $L
MEO(^:V2]<JA#;!K5)9.I6[?T5;^_DYC]U1>E3_7H 8?1<%TP7%=:S3,<(/X/
M>8<9&+%U2NLQE-P=-EZ$,&R,JQ BS6_LNX>+I[D0J>TIES5)1OA&:9R9X+"^
M+JGE.7<F_R#EJ6UWP]"S3 &44.S&%HV]X0%W$1T57D)'@=9[N"A#VKNJ6TN>
M^U*=-B)R>U3F("(GDFN,P)%L_KJ#[5AJ3M^U\(LU*DK[XUQ67:=;R.Q,ENQ"
M1UB^*UH'LM_Q(==Z4,^.F\VJ45_BHY:[_M>\)(SVBTFT7I(^8]'R)/L,+2)5
MYSG(QZN\S"$/KTN;IE[D1W%?G"<OM?UT]W]_>G9]:YF,:OTS/?R; UB;6M^=
MQN!:\S/.$4)E_%4/5-=(TOB(^^2L 6 2&BZDP:=Q[UP6778-2/7NZ-(-S[K?
M"P>B/F<UL,]-)Z&=N8;+[L+/,O317R'PP(?H_3D(W>F;RT^Z8=M6P-6/J/NO
MI?^1UN8TLC+5<(5O__!>J,=V='U6<GF(0Q5DOV?C_</GEBA'TS.C5GT52>:M
MK23VAD["ACH$\:']N<&V<$6AP7[.G5=X=)JR[LQDS'O0QA?+SQE_M.KC&&]R
MEY\=!11KQO,%X%@G&]BBS4FMS<],*GV]>QO$KD\[$Z]D/JJJ<BA,I@*D<L&T
M,D@A8MNL1LQ#J4PM55F@0!V=JUSQO,,-F^6\FA+;0/&X4_; 3(_:/5K[P)02
M_#-V/UR!4_.6YD6V8O=$_YKGW7FW>="/UOCYF@_+C@^[5Y:':2C$O[)R,'E@
M4_.PN:>3MG>V.Z.QOUI[Z6\-Z2*MCTW!PZ(09^X249W3V<%2_^AP3H(4VEOD
M.TC08,<*ZB>R^AYZT2!41UMF1!]*7Z"+W6Q/.KH;O32]NX_:RU;P/V#XQ8N
MU<(,A5^PG6+^0!M9?4*I?"CV%\P2OV??RN5R2>N;&X_+A%LE\# _[O2<MP\T
MBB#9+0X^L1.<YKC&32I#PP.G=ZZ(S[?HU]>]UMSNG$Y;\3%C*WU(ECGCEI:R
M4MIR/CH\.]@]>KW>,!6-7]M5-V'5C=GZS 3RYBO1D<&=P<W@ XM #Z,VW4^X
MMI];R;U7AQ$C?W_'KIVCX^S#,C'!)@V=-E?GQQU"V>;PMAI/*W/,A%*BE3-6
MQ/5:+J(#"$S3^WG.88["%WKNY?[J\Z8H27A,1$J:+% 4MC@>WL_LPFPP4VU-
M.":@1A'C;7.A=GS(O2?G;%<%-]ZMO67MD^Z\;ZJ9:$.%C3'&3G&S>N7<J3S/
MC'KEJR2M\&16Z4?]B8[X>3RLF"T"-[47UX/-&(.F4/8 SO%#+<?.CP^'L-"
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
MTM.N?P;6B.#MBU],PS5QXBM:\:VI).#<@/'5T>TEZ#7W2&G@,.8C"INN%PI
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
M;$&[6),V*KW*8@)$0%%1*YS#?M88[U>OW"P]U7=.C2ARXRCKJMKA^/24H>I
M^F?_C%D=,O)ZU56,U /<ZXMVMC,&CKQH4.?)+DSLMQ/0X&SW.0.G['4L$*/G
MT%2L3V>+6_C:X4J64\ N^1IF(6'\#5$3D6*F4Y2V%(3C2NR62\G^7PKIC2#D
MT5B+S ;TX;YZ!C2L M(0S<!/WENXWJY[0AT(\G"BQ.7VHF6S6&N%]_M8*WGL
M]@>F-%=:1Z?D7A;!H#,,FEX-"%HQ=NRW)AA6NJBK8"<C41U:D#<26E!M^]@!
MTA1*/7++;8%'S5(87D[=6]-%TA%3%(84UFC^W$%,V\V>!Q0MZBK5:8AC*!"5
M+9LMYUXTIG#VLY4[Y*=:MY-MB*>_LS*FYXRI>TF:OV-C+.H?6L=8'G3@H8Y^
MR<1Z]U@9OAJ_ VX?>:)V428O0UU?[IG937N")@,<@_GN.F;Z#_H%,ZQ!?%QY
ML5E$!!8I#\>YLR XKT1C5D!VYHS=O3HN;N7>V<9 F>#"F_7KC]K>O%7V[7VY
M%]7GF*,66J_3&A+FN,B<ZQ<%UR'L<NJOXB1*GOF5'I;3*K_XE1$?K"6HYYK,
M1ZMI!<)!OEARESD&%]:;E*Z@W<,+%3_MYXTOW/!8A*"1)\)1/X9[_G*YI#X3
M]/+-QV+C>^B*'O<*E#+NHRV8CA=AMDDR+_HQ3;8;]@2D"6$%";O9"@3Y/NH,
MYQX64/)/[K'W>DP&BTDK<8B4AZ! ^*0NDH:*;UV5.KW7%DW[C?WS557?=,7[
MHO)]I>)]^?)EE%-A+*)H<)GBYQO*U*-[*"%?+#]G_'X[%A%$TB1(E.TW(/LN
M6;YCA/DU=2("&<@@2JH(*)-4"K7-[.LET@1G9CEX\/DVO ^SWWHE;BL\&H,L
M ;HCI' /+)-A -8+9BE_XBY-EDQ38[-XT4.RS)E]02_H"XT2=$:)WN;]VE/J
M<Y!,3$*"8A:2B6G(&N<Y15E+V3'=9;:0&0-@<P_4WZ;,3)27#70'/58_%:2*
MB_K62E?4H=@V\A=&XAV*H.Z!?J\O!2R!D&U5GVV:3^RTWJ8B/<=:0^">?!M+
M7<W\:1B]0M'JDP:KG^/C*T336@R[C@"UO%;38MMA,&W 7YZ"'/O <U%!]B0$
MV,,)CO2W$8_P-AIJAID-E_4Z?I# ";&NO8VV&GN<P+I396@)HP.$LZ-770CU
M]$ZF?UPPV_U(,20M$2&!]! "Y";,N1'"'8W]FN3MF\3OV^AK+X%;TK1>-#^@
M+$8<I4Z@,?*K99+_G;<3%02B099VV6#B<N^&*EH*NJHL$+/R1#G1%$Q7>WC.
M]#A5T&.N266:.5\8WAA-@-AJ#18KFGU:\A7PD#[@3JDH_ST%DYT&5TDJ:U_G
MVYP99LSDF<?QUHO8)D[!QW;D(55R(3Q4YQ&G@@UL-A0*1F;$DZRPY0)>2"B8
MP4I, (*U58+C8JGD]\27:(%A,Y4#0N3T$,\GJDY9<4 X"T3R8/$&<+9 QL<U
M\$:RV8>VL@U*CXNRMLN)]8MR0%E,O(\:@2PB223@5M  __I480$Q$S[0?E'0
M7JH6^]962=JK<=1^RADIJ)Z$*":8067NF6=1HOY'XS6SID*\+(]++^MQWS:<
MDJ'B2G31FN2]VW?MAKV "VZL9=VY7S(;5_+>9K-W\GS.F%5P*3K:'GL=0R =
M,CXD&3=83_U$T=]C69ZQ\@.&3&DO)PA$]H&7AQ4F*LLATC?&K#L85B+S:KXQ
M7@MB2!=%!]^0KS<IXHFQ8P,*+WB/$+2@J6Y!)VA!RR9;&C6+0-0/V\TF0G^.
M%T'0YBI*7J]C=KBMN=.H9]ZD1IW'A( ^T288!]? CI!F@UI-4HPI+D'20*&M
M93_81,;#2KB'%:6YL#X*F+>LYSN44/U(776=U.B/\@KGP:_;C,.;/R80GF2&
M"?:,YFY)L%D>DZI*>_79%Y7V0[QOC1^2)]BC%3F"TC"X_,%5RGX>R\+\C8Y%
ML)58!(DZ$(LR?8O[9 J+&%6NGV(&Z@1E3O77P- W\.L&.(?B3BEX&ZM!BYE<
MID!*>2K(\25ZY80Y#?W46I:)+:G,XJEZT2R9$] $+\Y"_R9Y9G]$?O\<&DF1
M(,E)LQU5<<R4KIMSBSF8 _)?LOZ5')&2PY;A_OB:/*Z2;<:TLJOP1<!2,DKS
M.-!^]0 %ICFEL2SW@MW-AL/(021FO_BCA"EE-%%)_/C^PY^+8CDQ(_[Z2UL,
ML7W9'$1.0H !?44 Z,L8H-BH7B/;&]_56IE(^FS7F/L%_F4G]G_)&,]W\R!@
M8S+QGYLPIA^/K3E!>D10FLF_$* );WKB4ACE&$Y$$?;L%=//O0AZ"O2+W\EX
M+J?'FQ38S2892@ S:W],*1H2/E58)6=_RY@VRY6A(9U%Q10 ]%C,\27(*4W2
MRJ1537!CTG'=3 +M_YZ"MLQAKM'1P,[XQ5,4/JL^(U K]ABNV9#%\@'RLI<\
M2LA=UQ_Z=4R %%[! -$X( 4+6A\2S@6"+FI\S*R7U[M:*N.0%GYA@ N1"[;1
M%BQ1C&3H\I?8J5LOBG88&@CSO  ;0:Q52)T>Q>$OBY'0*0,LKL+-D<4QE35.
M!MV3$"-JDF"$RK/'%,LJ=KSQG<S@YVUSSY,,4B0QL'2L+BS("Q583C!3G7EA
M#OAN><#[].0T7&Q"I@TT&89OB<>\[0EU$6;>\W-*^?>^6(KSJ4\NA4F28W/P
MEC;64RJ&E,9(SC5%6HPHDBB,Z>EYY#4LHSBM>_%K? LGA$Y2"\9V<DALDUR5
M1AVX=^%6"<5O9L+X_<Z66B][<;+>ULMH2CGD0W96$"25R74BLD0M8DR=_\IF
M'AM.<I2DQSLO7:18)1)@Q[&>*J^9Q\F($V:%<?*BH]D(ZJX%\>I1!3=,QA<@
M;4^>GRA C"B-G2/'B2X&F8;>#0WQ_#Z2R8F()Y1YD;8J<>J9 ;W9\@ X!H39
M3[4 NM+Y9^0).#G5!=&.1[4@TKHI4/MDIF8QVXS@?-9/3JO21\<+?J(2F[EA
M<JIWI4\@T<6UO+WWY.J53#S37]6$F2X#J0N0]">>T#1"R\-A!- 1T@OT\]&D
MF <!>C.]Z,X+@^OXW-N$D$=77(E]WTLQ X$IX%X0D\R(>?V/!7-O2V;]57:7
M>D3(^^$%CPZ3]I1$,_,!E7P;1OX=Z#9\ IM::98KO][1ZG66:V[)B3*K:U"H
M"S'%,;/6:%$BCSTJL.!!LGDD60V$V%KAT4 2R&M?<E[0LYU(,Y0$1H[VOAB6
MN!_2FU5=MW!(PS 3,EPL1EU-B;V"_6DM2KLWM:]SCY3*74; 1)CD$I>.0;74
MOK;4:;'4H;[4'/V4>/I2ZV4VGECJI'XW6SAC3:05R%*_2I,USS_90I:"@O,]
MH\LD%1CDC]X;S2[?\M1+4J;&>NGN.J=KQ,B"I((D8E,\7\?LQ*)9+Q>L2)]_
MPKE5,0+,_KM8BLA8!5%$@"WO"[8T-&FY3F(\LL;AW@I6B.3%+H#2(QO8%_$)
M:$R/RTIT)SNL[@/E_)@DP6L814.UII7T[ >\JS/KBM0V!)?@[8YZ94&I,QD/
MVHQG+U&5&K5A+*[@6#42"K^K_O&)KD9KJ,^8BFAS67?/VI2[0?]I$-EF)S?1
MO@LM<HRP]$L;D-W ,+CR _D?[[^%]'@58_E7\O'][/U[_-\^IL:_DC@QNSSQ
M0EVMOZF'& &?//8ID.\_S!BYCQ]Y\P+JH\4B?_IATHL6E==+^)Z0F/U670-(
ML-\VLTF4,5MF#B2:V2FS6;A1NV3V_V*-YIC-DED^:VM0 OHC"C= 'XP"+3RT
M7%WP*:QB#=>4&)Q'S"9DYB.S:C->7G7EA2ENHJ)F?9B,\24CS&\1#A,S=MW%
MF"N@W,75-1:DF!1N1#[MC,#$(DNCF-IVOF7/Q!^!]&L_W:</LQ4.<5'B9+M?
M#%;A0]>,JR2]2+9/^7(;R3RCOKE6]TQE"E]$NA6[ D( F65*J< 9)5]#^"#-
MO,@B(,J0\I426#E=+"/QI,BI$GGT3/ ;IO&CVV7XW'8@39#V^ GN1XO5,<G=
MJFSHQ;TO2HC F:9T.=G96+ B-+O^<1%M/@(32IV1>#G)5U13)MD[AA] _>0)
MRUYR2.OBHYOP2<D;E'I)RZP+6W&[,:2/ZEZZDEIUT)9[7NX'^_53RCTLCOPS
M&M-EV+=R0#MXQ_2&]Q=CWZG/:!;7H2#[C76K:"!YHG91+&K+ O@+3![VU^OX
M!1R<\?,<H!IBMK\->*-"71T<':S !(/S-$[B=QPO3#(Q#A;4V,LA#0@) L?-
M7OB7FIIPA ^Y#!J>4S']*'5;"&4_A#'!,?%',RGZ\[W7-V@49@LOQ&#[S%SY
M8@*'6VE(*??[.XFD!'>2[F&0][4OJG#(1S$L,*/VS,LH=A)G]Q-'B4Q31@\/
M\;-=,>3.V\&/YJ]>&D@X'[;6J&!F^&H>5UZ\V&"LF;T=..MHP!/.^[JXBQ3Z
M^Z+',B\-_\Q4NVP\)_?$ETQWG;<OVHC.\\FNF_@&<?)W3S [T3DD&HN QZB/
M$VP2Y'-6X' I5D6KF)PQ2P2W>$1S?F>B,L1JQ&*#*<#L;(37>WRL#,@016>Z
M')="HAN>@6V=;9DUPQ5^H>NS%ZVRM6Z/[@0N22NL4$']&]Q):H(9X(F>EH!F
MSRTA)3=;+96[&ZF#3/^_]7*F-"R618[449DS=7E_H.7'. 4<PHF:Q)9397C)
MQ!Y4$@$*(2<-GD(MM<Q:@I EP2IS@L:73MV.O/V#S#,*+K8IAXEB5WJ?+ ?9
M D,1)IRR0+P2,><3DLOTYJJ\K'+S"F\-08=3D*LR9;U>,EM%"$";)Q[HHO"*
MNVM(PHHI I']%.:KRS>:^B'TK?C) ^7H\'!1N5X$WYE(.PKX!N7JK$I)@@)J
MR0.V%B!4< $K]"KXL%9E,N[R&!\OG];\;F4A\75,BKD)3$[D['""R?F_C%4Q
MU 79QZ?\X7?<*/:+27M#_O5U*@R'CSB2,\+=BIF7"H\$M:W:WJ(MG"R::*]R
MG^R\"!S(O;%@L%F+(C<.&,P0$ACO4-(:%0[&0A%\56N_60D^8CP7SI"R1AT%
M/ UIZB%N]B$P3D.BL@.VPTX<+<V8/7CKK6F/3JR(&0\TK'=>[<.LX<N2'-MC
M]0H:^-&;\ 7ZX+"W^ARJ\LF^N@@G_0YIDX*X#.5,/-@A/+=72;JD(7@'F'+;
MOU-E/U^S\B9K7('R:QO)>@*+:((.%4$.PPX0YZX/1U%DLY[#Y8)4^@Z*!1$S
MF*?TN;4509M0-BB]H+)1J4PI+5)>YW%P+L#%\0#HZ3U0G5L#JCJ15J6=HCM6
MHIKS[&%;_H(Q5D&%!X30<BYP"E3D&:-S4T[(#]Y3%+YRR\\[O6Q+XHK)V<?U
M !\9^[*SSQMH30^5<.__I7_2ZOSA,U;5O7O_+Z<D0F2\&] ,%7'"J4NI;".L
M6!&O= AI8F9*S*TAIC7GI"K_;O_.,(X!?8V?HIXP4'J9>-5QXXUUW(PG?G2L
MY")^A VE;?63'GDMRAY\;4V<7;W*YN):5O:8"-@7&>"CV2W-%TO(S)2 ,/TN
MGBHT 0Q=HSX**9\2S^7$I"V9RV(*:% J2)%B%LP\ ($QXW5^T@(;];E'2#U>
MU:Y(P3C6(B\*626A"?.\7P-8H"!1Z^RKFM)/V D&C3J(:'V.DZ>,IGC 7<>;
M+1ZVV-LWE'A4VS05T+J9*D26X!)9SXP918>9.VR')BDX&6%#1O2%2?S][V)!
MI'])5=_.B,84C__I;!'.%S$9P^X&G#6$8\Z,HG7%G^44JPDMJ_[!C;BVUD_/
MOLX:S9-2PM66X>T[:.$T ;>@X?/90R1720+([N]NO<O!C9;U.8'D\C'62P],
MMJ[8B&%)=G" #H;5CP$-SG:?,XA@**VCJ*[J66D#"A]J>W(J^!B__LP;/'RC
M@6!J]5QCU*/87P COHDE?%'RFO$:XD(5&Z6:[])+85MELAO)11AM\R,4?4VB
MVZ(/Q]<18BAJ[3@"3G_Z FE7MB19-(R9$4'6^A4[D#A1JR23%Z$4IZIL]C+Z
M[NIY!.Z_C[%.N )V=:CW,%%V&T^FJ?*L'3Z37V#M-C>1<^=YGH9/VQR-&692
MWWEV,]_.F9E$P2>*5ER8_<:1@.!OQX-6%10)$%+P0OP?=TD4^CORL_@ON'^)
M+8^T!3%+W=\+L@A-"11MIJ=F%+ OYW%P 1Z6!/L6"I=63X 23EF :2K:"C/"
M/AJ)!>',I-IJ">W"-U^%F>]%/*?BBOWL:/@G">/,"<H<?"0Y<0DJT:A'$:/4
MZQ'RN>',Z6^%:9%627&<%L<^6[YM!-$?K.H%"SVE*_:!A"^TN(TP!/'HO?7L
M+"JG$A7$QF3FM:4"$6S2,3J/VER$J*?\)RMXJ9>IDCY!Z7U#>E $[1P[E^RS
MRG?S($BAUI+_YR:,Z;%8VYP>$91F\B\$:))%; F]?S I#"S4T449RB<H/7,J
MO1"/B&NF.85L/_F]JS#G CT0/DM!4P"ARIDGG'UI8W$L>/,5FT6*[ZR\W--=
M9,TK/3RT2662ZRG@F@RU.+:#1[8Q2IPO8#W64.7>LAT+&KR]E2BHXR.+?+"L
MG!#6-R&A6Q;N&,@>4U^U,?J$F2C9VCO)*EY*!B_%-BK)U-^*.$BM-,@3?,OQ
M]Z6W8::+9G;S3#3^^E4+:X1&J!/NSW8]E/PH;1P:ZNLTDV^^3M(\_ =NNZ&L
M2)WF2<IG)M\^?JEB'E(T.2/CBWZ7)LLP'RZH-4E.2Z&LDJ^)_3/:!MSYF'+]
MNA0UJNFG:-TU=[S(=0&Q'M*.X-FY2YA.'OU7N#E/@F-M]+)7A],DC"@!JE.7
MHLE!95T4O3</Z"Z0JGJ^S7*V?S@,,*0E]<?R.+=<PV=3#.TH46)@VJR<8,8/
M\QGQECD@&T=1\HHX,P#@K_6%4>J5]5/$PC)$@ZZ )2.%&_V+Y</V*0N#T$MW
M/8VZPHN0*9*V+*S^S,LK@#,-4$:*U&1Y-G2*BM6VZ+)B<]"_;R%"_@)M@OMT
MVU6D"-*R"*29YJ C!%L_!W/Y@:8OH4^SBP1PKHX&!D9Z:,,*@N1G3M$^YI7N
M'8AY5*Y'[_8B](@(6+H1#]+Q,*35OO96Q2N9ABBC+)WBG5YYI'%,@]B.H&8<
M?1*"ENW$HE^!J@CNB9U<M@UM8T$/+4Y4(XG1VF&4;#6!_]=KWTD:UK6U8YF-
M3#ZGQV %(J/-@Z@(-B'$=!)[Q4^P1(UC.F:]TOS.F8WL/260L/A"C; <'$OZ
MO[6N >9#]N_6[K4D?1TK6!Z_T2MIMK*2IJJDY!1%UAPK!]8-V:^>OTK2 F5Z
ML=2P _N"!(#E9@)8Z^"!)R%9"RAW9A^5NP :9QQ@+BXV%X$0>1+C.74\^J'H
M4U+0LHZ".*@4AM=K-%$DDE"[QCH XI/06R]UO54D0@J]U:HE8EO6!EMK7F5K
MC0 094O4?9@H%#DJF9?<*-%^:A$>QVB;US<9VVSX-TXB]A#\&RYFRPW%2R!D
M,FO]YEA0U7KHL8T@;<O1.* 0Q1FPG\U_8[WQ](""5*1 N9>F=T^<2DFL]O@9
M2(@I?1Q]',.COH B+'E/GT,X4>,<P*;[A54+6I:0JX=BNR*.:IUWHVUJ2S6)
M"+[KL??'A%>G#M(\MG-U45T6 .=EO#:SXZ_7?AM:LRC'J-*VV<PZR9B,PB76
MMT,UH\6[@_*6)V.\OD'X-_,#,ALZF]'H:Y5$ 9N2&YNW24X'\'B;J 3E/FW@
M*GI.O?4)"A9I$@GZ_U.V1H4IQG?I6Q/5A,79A)!P8\G)55QUF&*%?E%ZX>7>
M "DVXLK3"!.@;"_C8FAA(N=RB+2K<_;71?J8O!X;4"]G<0%!@'8$DI/FORD5
MS:X0D-?PR?LU265*41_7J*1ASXTX"+>F]X(3LE["K]5;#($(;V!FVT>X&$J(
MRHJG@J@EV_(&&BD$B^4R].G#QO/I/*5>']8Y0:;] 462 4G"%&1OROQ'!NN<
M&$%J9#YQUDM>B;K5M^CU?=AN-A'&8+Q(U"X^K"C-"S4HZZWR:5/(^DB"DV@Z
M7S:6TF=17@-5A>9>&&%$\)RF[._8DC6 N W6=65)% 98HV&NB#P[[-SJCZD'
M:?L/N_53$AWY.@4-PHE,D,\2&K959HN$%BRXN?-2@; L,D.&,YS$# 2G(/H<
M+I*AK$EK9OC4B6PSB<U/Q?$@,@2P8YCI,]HO/-<RA?HDP&BSJ^P(WK&L[%JK
MK-?7N+">8S;^0D6'KA$"=(*Y=[E<4A]]6FW+]B6MEW$=R:6@:BF,OGCT[UNF
MJ$9VE^!'=@N"/W81LX-BD_"^*(LE#]P>N1N I@1J9-)HA$'&NQ1RQMCA 7TR
M<W0W(< <0*?($K9%&&&L_4<O*\;##QY#+!Z0/YOZNE0F)P%96)< "4.'C"4D
MUQ5"4KDDHR?27<<O-!L3B%M-.!$@[@$7H F(.U1BCP+$O0?K>;9[9,_U<;[L
MH9<2H&@].VU 26H!2@MQK"= 7B4IU-JQC<#^ 18(VXN<"=5XXRJ,F2DR1&ZK
MO%NQ7$_-2HQI]88?:N8QDUW'61&C7;-8%KQ^U:KXQJK(;"^+%\XX\E=>2(Y7
M (S+FP3 4U=)3'LA:R$9@G2L@6$-P:[AWAN!9^5I44T'&Z Q5+?!WL:BWFIP
MOU[(:N'3"))&^T*V-4\O>DLZB*3VQ^#)C$ Q1:I3ED"^H:KX]M@(\OVE*8/?
M"72[)^NPB0-QKH-"%JB/UM@W2M?/\9J\CG]:A?Z*!SUY+<_AND,M>(#/K1=F
M^[["+(3RV&HBYK&-*#"@B-)V4Q #G#:T*T?J1(2-)?W3D:P:B*#ES5GT,B1)
M\!I& C:^W(V]ET6S A\5";;8S2]?82L;-L>IR")=28+H3$+@2[KD:TG98J.5
M@5^/=I]VD>M+:;%XGT01LSGAP:D!YK;TQAO%$S7]MV"H]%_RJ[A+Z9*F*0U0
MY>'!@.LLV_9L3BVI\H3#F0R-<,HC@,T-)53419Y3$,1P_RAI,BY-QJ4)+4D#
M667W\*7T\+Y"C6[(-"1P'.A]?FUFPAW-LW%Z5#-N,UWR8>U%D00*[I?JB:14
M7_G),EV1WVF;<P7\FP!VM' A^KM;+V=ON!=L%0;+-)(SPHF.@*]1==YH5U9?
M\[WN&!T5P=ZJK+K!WTG:$7M!#"QPR]6H43X9D;I<DLD8<BW29R\6@,E%EA[H
MR'' &,ND+P9=O1 9\2(%8M$W?*W//2/&[!BJU^<7#F#. 2E8&$5UO?+"%'O+
M:-=JIG[X'R'3J5-_M>MU%@,YT2]($<15N)W_;83SV*J(^FYODM-BUGOPZS;+
M4:C'9!X$F''B17=>&%S'HF0)/^JGLJUX#Y[X+,RIP'7D+@71!P$&'-<X2D?G
MN[L^G[4E:LT*)P8/,6<YT9BPW_!N8@L8#;=VOY]%,ZT%=M>(-?.UF:T"LP-(
M*DJ'>:[7ZPT[#'!Y%NDY6X?G?FAJQ01$9M)J4T#EE9AD# SZX46-#I3RQ,0S
MD#P5/1?Y>P\40?R9!O3)2W^C8!T-U@'XP9.];A3MTQ%$>D@X65.*$9LT2U,;
MNPWQY-$>_A[5YT@C9SW5;B 1])U5)8=% ;12(DBRZ?L2C)H@2= NB!U COMI
MB [S3TRKS2F8%Q0PP;>;39+F$AJ\W\>BS3(CZV(>_'PR/A/)Q%2$SW6:$I>"
M][62SRI%MUCS=TOS AQE@)QK QG&)0C,((*5PO80ED]2BPG3K3&YK"4H]R/
M$:E.M4UQ.8LAT:QK((YSJS>L;8G&_2Y77M^$+>LCEM1F-(QG8O4\*40NW!CG
M0$U]XDU/4,+:>D3+8'ZVQ.I4:SF:; C]=)4FZ\I>0_WVGH2RPH*8ZHY#(VU,
MY..>PO4/B( T72;I&K2 Q5,4/N,!!):##_T,PS4;LE@^0!QSR=^&G7QIQ0_1
M&"(%1YFJXX#UV7I1A-C*ZS"'+3-:NP!7RV9NHEGK<LV(Y(5P9K#R5&-GU.1L
M*'T$K,)^'7T8$40\'",6VHMA(Y0DN9XL[J!5O,$O1VK-JSDH-*5US^?("Q59
M6".+0;:&EKE:XUKA2>.G;@!)VE=AYGO1?U*OE^]1$82%^/C^X\<O2E(91VVJ
M$M(N*IT-><.)I>$\$&#"8K%MY&49N[0A#--73T=:>.<BML$X"NP@ AA9]2C%
M8EPI+B@[,ORP=YMQG8Z+F$4O.;3;1J=C_;+HPW2TSZ_%0*YV6"R6Y1.M'^2M
M=D9YVC2R6=^I"&5D-.AR5)6GVD]7&%2VJ*-8IR*/@=U8$BK4MJ-EH62=SL H
M6I+L23 >F3R/!VV& :''U^1QE6PS#_K@0MM=2F/NMKQ&S ZF1(%).4@XZ./[
M#W^6]<&*.N(4V2K>M"J=>'%L#B(G(6J6:CEMMV^R*J_^A=6_2DN2U9L34I_7
MC[$YM% '[?V*$>P%ILBL2HH-V4]?KE[F$6]*#U,3F/OT5Z/<'6<-&*1P_1DJ
M&#B!/;XP5,&G+546,OX*%?QG57$:>?YOV&1GM<NP$@?ZL.?H+T7O^Q)E)%&X
MI*CAX6+G"7FB).79??]@/^#KO62"X2-HCNY@]9=)%"6O,(%LW*S]]EL!\H;5
MUHQ N$;FO#C>LA&\;" CKRMV/LG?RQ]Z*<P/\7@V.P8-)/U,IEK#ZA2R*] Y
MP'0E7[-%C3 E:,,,'\]??6,QFM_;.8ZE$Q>,[QX)*\/YQF<$^0&(?OL07V[7
MKJ*;\< +:.EDDOG#U['6155/X,WN*>2QT. J2:^V4$,%Q9,@2<^3264NA[$)
M8.F+/ANB6"05\^.9M40.L,H26+"E7XVX*I&TE<5J7,=&,UVBNH[PU9#SLMN*
MW5A\->34I[\89L_[FOUA;(C0KNP*-*W _Y_#/053 N9:2H,P!S\\S8J4^)X?
M1@&@EQ;M$SPY*TKMX[PDPHF)IV:V]3W8789*=+FY(? FR4$79]^!(?I)BEOE
MJOC2A2UT=+&UM<X@IO!\/L(G),6,EJ2_9'^L8=NIBC#H)UZ)I-CSLU8SD244
MBKU@H5@#=J*M;]FBQ.(M%Y)J)7$ !U6#'GIZ@AJU\@>^5ZO%*SZE00:95S]Y
MD/N8R_S"'B4Y2));3H*HREJT6X@SF"QF2;(N$)7IE^Q]O?)9QH,YN/#6WC/-
M'I+M\RKO7?6&B =^09V9KTB>9$B?[\L3DBW2Q#* ' 1IPFG/^/$R=F9QGQA2
M:TWG;1+[@/PM<@@< 7H-D&'>1;JIB^6ZLI1NO# 0:S6/ \P'XK&Q ?I""O(R
M(LO+]Q*>C":\9+9#918DC$SA9/D>R,;3J62HUEK;2)NOKPRO.P88,OMFH?,
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
MZ?.\?,/^0;)^]?A<).'SO'PC!4%KR4)#\E_AN!U'"%X7)36G)-U=>&NFZ0R
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
M$]+RV<MGATH*2"Q#S[DA1J]<3LYU(I0K=>*0K,T6DR+:1/$1:C[KP$ M]Y7
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
MN97_^NUOU2_R+RB,_.W_4$L#!!0    ( $:+L%3RS++=!ST  ""Q!  5
M<W-T:2TR,#(R,#,S,5]P<F4N>&UL[7U;<^,XEN;[_ IOSLM,[&9ENJZ=%5T]
M(=]J'.NTM+:S:F9>,F@2DMA%D2J0M*WZ]0OP(O&"*PD2(*2([LI,&P //AP<
M')P;_OX?;YO@[ 7 V(_"7]Z=?_/QW1D(W<CSP]4O[[X\OI\]7M[>OON/?_S+
MW__7^_=G5S>W]V?WX/5LYB;^"[CR8S>(XA2"LW][_/SO9_]U\7!W=N>'?SP[
M,3B[BMQT \+D[/W9.DFV/W_X\/KZ^HVW],,X"M($?3#^QHTV'\[>OR^&OX3
MP3\_NW(2</;SMQ^__?;]QQ_>G__X=/[3S^A_W_WXS8_GG[[_WQ\__OSQ8Z5;
MM-U!?[5.SO[-_?<SW M].PQ!$.S.;OS0"5W?"<X>RX_^G[/;T/WF;!8$9P^X
M5WSV &( 7X#W33YF@&;P<U!.XRWV?X[=-=@X=Y&;D??+N\I\WIYA\$T$5Q^^
M_?CQNP_[7M06^%_ORV;O\8_>GW_[_KOS;]YB[]T96HTPSKXM\)&R^5NK_>MW
M6>OS3Y\^?<A^NV\:^Z2&:-CS#__U^>XQF^=[M$()0@V\^\>_G)WE<, H  ]@
M>8;__/)P6QLD7D=)O(V2!,!L0?$*?/SNN_,/B?,6A=%F]P'W^O" _O.U9(KR
MSUGH78>)G^QNPV4$-QF^B-CLFVL(EK^\B^/$?U\.B5'Z5^F!DMT6H('\S38
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
MY;"WUJ_GWT_PMO?U_ >3C-FRK[G4S7^6^U>8!D1*Z<;R F8Y-&1#,)%7R/;
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
M4E]E9[Q AZ61G;1P=]T'OGPR?&_9:+D*U;V\0']Q:WE@3H_*#<*"V_(WE%5
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
M"M1N"==)59FHJ!F'M]%O/22I_*7O[!FL-+(C);=R546_2S>Y-H=^@2TK+TZ
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
M.,[$QPT0G 6MD[Z,4R?(./_ZS?5C\.2\+9P=]IRR9\/K-8'WO?<OZ;!GVF-
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
MN2$ $0              @ $     <W-T:2TR,#(R,#,S,2YH=&U02P$"% ,4
M    " !&B[!4.]C,]/X0  "]O@  $0              @ &1,0( <W-T:2TR
M,#(R,#,S,2YX<V102P$"% ,4    " !&B[!42A097*X0  "@[   %0
M        @ &^0@( <W-T:2TR,#(R,#,S,5]C86PN>&UL4$L! A0#%     @
M1HNP5%\=1."1(0  E6X" !4              ( !GU," '-S=&DM,C R,C S
M,S%?9&5F+GAM;%!+ 0(4 Q0    ( $:+L%0G+)[ E8D  '*,!@ 5
M      "  6-U @!S<W1I+3(P,C(P,S,Q7VQA8BYX;6Q02P$"% ,4    " !&
MB[!4\LRRW0<]   @L00 %0              @ $K_P( <W-T:2TR,#(R,#,S
M,5]P<F4N>&UL4$L! A0#%     @ 1HNP5(S=.ZK_!P  EC,   \
M     ( !93P# '-S=&DM97@S,5\Q+FAT;5!+ 0(4 Q0    ( $:+L%0 I\=T
M P@  #4S   /              "  9%$ P!S<W1I+65X,S%?,BYH=&U02P$"
M% ,4    " !&B[!4-*!C=L$%   *-P  #P              @ '!3 , <W-T
B:2UE>#,R7S$N:'1M4$L%!@     )  D 00(  *]2 P    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
